GreenBrowser 论坛


 
标题: 【插件】输入立即搜索 [07-10-22 更新 GUI 版本]
Jingle
大学三年级
Rank: 9Rank: 9Rank: 9


UID 5287
精华 6
积分 1741
帖子 469
阅读权限 200
注册 2007-6-5
来自 广东
状态 离线
发表于 2007-8-19 23:28  资料 短消息 
【插件】输入立即搜索 [07-10-22 更新 GUI 版本]

学了点 Javascript 的知识,做了这个插件。自从在 Firefox 发现一个类似功能的插件之后,就想在 GB 上自己做一个出来!
功能描述
      运行本插件之后,您可以在网页上非输入框的地方按下键盘按键输入字符,插件就会立即开始帮您搜索您键入的字符所组成的关键字。一边输入同时一边搜索,搜索到匹配文本后会立即选中(或高亮)之,您将会看到它所有的位置。

目前该插件有两个版本:非 GUI 版本和 GUI 版本。

两个版本的最大区别
      非 GUI 版本只支持搜索英文字符,而 GUI 版本则对中英文字符都支持(因为它使用一个文本框来接收用户输入的字符);但 GUI 版本不对框架提供支持

[ 非 GUI 版本 ]

      运行该插件之后,您可以在非输入框的地方键入键盘上您所能看到的字符(字符 ”`“ 除外),就会立即开始搜索您键入的关键字。
      一边输入同时一边搜索,搜索第一个匹配文本,并选中之;若搜索不到关键字,会自动清除关键字。清除之后,继续键入字符将开始新的搜索(从当前位置开始搜索)。

按一下 Ctrl 键的作用
      若关键字不为空,则清除关键字,并且新的搜索是从当前位置开始;
      若关键字为空,则新的搜索将从头开始。

Alt 键的作用
      按下左 Alt 键搜索下一个匹配关键字的文本,按下右 Alt 键搜索上一个匹配关键字的文本。

单击鼠标左键的作用:单击鼠标左键也会清除关键字。

状态栏显示:状态栏会显示操作后的提示信息。

特殊功能键
      字符 ”`“ 被用于特殊功能键,因为这个字符很少人用到。按下字符 ”`“ 所在键就可以开启或关闭特殊功能。
      在开启特殊功能之后,您不能再输入字符来增长关键字进行搜索,但您可以按下下面这些键来实现一些功能:
            W 键,功能:查找第一个匹配文本;
            A 键,功能:查找上一个匹配文本;
            S 键,功能:查找最后一个匹配文本;
            D 键,功能:查找下一个匹配文本;
            H 键,功能:高亮网页选中文字;
            1 键,功能:扩展选中文本一个字符;
            2 键,功能:扩展选中文本一个单词;
            3 键,功能:扩展选中文本一个句子;
            4 键,功能:扩展选中文本到整个页面;
            C 键,功能:复制选择文本到剪贴板;
            T 键,功能:剪切选择文本到剪贴板;
            V 键,功能:粘贴剪贴板的选择文本到当前位置;
            X 键,功能:放大页面;
            Z 键,功能:缩小页面;
            Q 键,功能:关闭特殊功能,并清除关键字。

[ GUI 版本 ]

      运行该插件之后,您可以在非输入框的地方按下键盘按键激活显示 GUI 搜索框,在该 GUI 搜索框中输入关键字,就会立即开始搜索。
      一边输入一边搜索(有少许延迟),搜索第一个匹配文本,并选中之;若搜索不到关键字,不会自动清除关键字。继续修改GUI搜索框中的关键字将会从当前位置开始搜索。

GUI 各个按钮的作用
      “<” 按钮:搜索第一个匹配文本;
      “-” 按钮:搜索上一个匹配文本,对应键盘按键右 Alt 键;
      “+” 按钮:搜索下一个匹配文本,对应键盘按键左 Alt 键;
      “>” 按钮:搜索最后一个匹配文本;
      “H” 按钮:高亮所有匹配文本;
      “O” 按钮:新标签打开搜索框的内容。

按一下 Ctrl 键的作用
      激活显示 GUI 搜索框,并反白搜索框中的文本。

按一下 Shift 键的作用
      激活显示 GUI 搜索框,但不反白搜索框中的文本。

Alt 键的作用
      按一下左 Alt 键搜索下一个匹配关键字的文本,按一下右 Alt 键搜索上一个匹配关键字的文本。

按一下 Ctrl + Alt 键的作用
      如果你选择了网页中的一段文本,按一下 Ctrl + Alt 键将激活显示 GUI 搜索框,并将选择的文本放入搜索框中(反白搜索框中的文本),高亮显示选择的文本。
按一下 Alt + Shift 键的作用
      如果你选择了网页中的一段文本,按一下 Ctrl + Alt 键将激活显示 GUI 搜索框,并将选择的文本放入搜索框中(不反白搜索框中的文本),高亮显示选择的文本。
按一下 ` 键的作用
      类似按一下 Ctrl + Alt 键的作用。

最近更新(GUI 版本):
      [07-10-22] 添加功能键 Ctrl + Alt、Alt + Shift、`
      [07-09-20] 改用另外的颜色高亮,修正滚屏到匹配项的问题。
      [07-09-18] 忽略掉那些找得到但看不到(无法高亮)的匹配项。
      [07-09-18] 添加几个按钮,改用高亮方案。
      [07-09-18] 去除对框架的支持,去掉特殊功能键。

[ 本帖最后由 Jingle 于 2007-11-12 15:10 编辑 ]


附件: [输入立即搜索[非 GUI 版本]] Searching While Typing.rar (2007-10-19 14:50, 2.82 K)
该附件被下载次数 305


附件: [输入立即搜索[GUI 版本]] Searching While Typing[GUI].rar (2007-11-12 15:10, 3.55 K)
该附件被下载次数 512
顶部
wolfcm
大学四年级
Rank: 9Rank: 9Rank: 9


GreenBrowser专家   论坛热心贡献奖  
UID 122
精华 18
积分 2297
帖子 1134
阅读权限 200
注册 2006-12-25
状态 离线
发表于 2007-8-19 23:35  资料 短消息 
只能说:弓虽……下载支持




顶部
Passerby
大学四年级
Rank: 9Rank: 9Rank: 9
Moderator


GreenBrowser专家   论坛热心贡献奖  
UID 26
精华 11
积分 8322
帖子 7287
阅读权限 200
注册 2006-12-22
来自 China
状态 离线
发表于 2007-8-19 23:44  资料 主页 短消息 
楼主的疑问可以先看看这里:
http://msdn2.microsoft.com/en-us/library/ms535872.aspx
脚本收下,我慢慢研究~

Firefox 的 Find when you type 不是插件,是程序本身提供的。而且由于物理限制,只能立刻搜索英文文本。希望楼主能做个网页GUI,允许用户输入中文。只要做一个<div>并且里面塞满一个<input type=text>就够了




"Are you hot?"
"17 charisma."
顶部
太子
小学六年级
Rank: 6Rank: 6


UID 8189
精华 0
积分 76
帖子 68
阅读权限 90
注册 2007-8-15
状态 离线
发表于 2007-8-20 10:58  资料 短消息 
顶部
MoreQuick
管理员
Rank: 12Rank: 12Rank: 12


UID 2
精华 20
积分 12381
帖子 4064
阅读权限 200
注册 2006-12-25
状态 离线
发表于 2007-8-20 11:55  资料 文集 短消息  QQ




顶部
lforl
大学四年级
Rank: 9Rank: 9Rank: 9


GreenBrowser专家   论坛热心贡献奖  
UID 15
精华 28
积分 5004
帖子 944
阅读权限 200
注册 2006-12-21
来自 SH
状态 离线
发表于 2007-8-20 12:51  资料 短消息  QQ
有什么应用的例子吗?似乎不是很实用




要支持作者MQ,请每天访问一次(作者可得5分钱),设置为主页或F1一键通:
http://www.2345.com/?30810
顶部
Jingle
大学三年级
Rank: 9Rank: 9Rank: 9


UID 5287
精华 6
积分 1741
帖子 469
阅读权限 200
注册 2007-6-5
来自 广东
状态 离线
发表于 2007-8-20 16:13  资料 短消息 
回复 #6 lforl 的帖子

这个适合作为自动运行的插件。
适合只想简单搜索一下,懒得用鼠标点击一下搜索栏再输入想搜索的关键字,然后还要按一下搜索按钮或者快捷键才能开始搜索。
顶部
毒药铁链西瓜刀
初中一年级
Rank: 7Rank: 7Rank: 7



UID 5684
精华 0
积分 115
帖子 69
阅读权限 100
注册 2007-6-14
状态 离线
发表于 2007-8-20 17:47  资料 短消息 


QUOTE:
原帖由 lforl 于 2007-8-20 12:51 发表
有什么应用的例子吗?似乎不是很实用

我用过FIREFOX的,很实用。

不过没有GUI的话,就没有意义了




顶部
Passerby
大学四年级
Rank: 9Rank: 9Rank: 9
Moderator


GreenBrowser专家   论坛热心贡献奖  
UID 26
精华 11
积分 8322
帖子 7287
阅读权限 200
注册 2006-12-22
来自 China
状态 离线
发表于 2007-8-20 22:17  资料 主页 短消息 
楼主:
首先希望帖子标题能清楚表明你的更新时间,而不是“1.0 [修正错误]”、“1.0 [功能更新]”这样
其次关于你的插件名称,entering用在这里即使不能说是不正确,也至少是有歧义的,建议还是用typing。
最后还是建议做个GUI,否则非英文字符的输入是个大问题。只要把<input type=text>放在一个<form>里,就可以响应onchange事件,现在的代码可以全部重用,而且只需要在第一下响应body.onkeydown,之后的只需要响应<input type=text>的keydown就可以了,减少跟一些ajax网页的冲突。




"Are you hot?"
"17 charisma."
顶部
Passerby
大学四年级
Rank: 9Rank: 9Rank: 9
Moderator


GreenBrowser专家   论坛热心贡献奖  
UID 26
精华 11
积分 8322
帖子 7287
阅读权限 200
注册 2006-12-22
来自 China
状态 离线
发表于 2007-8-21 21:38  资料 主页 短消息 
失焦的话,可以考虑 [DOM object].focus()




"Are you hot?"
"17 charisma."
顶部
 


当前时区 GMT+8, 现在时间是 2017-11-22 19:00
苏ICP备07001345号

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.060739 second(s), 6 queries

清除 Cookies - 联系我们 - 5iGB.com - Archiver