这是一个强大的高亮关键词脚本,强大不只是高亮!
提醒
- 仅在搭配 Greasemonkey 扩展的 Firefox 上测试通过。有些增强功能可能无法在其他浏览器上运作(请见下“给 Chrome 用户的提醒”)。
- 如果你使用 Readability 扩展,要注意这脚本必须在激活 Readability 后才能激活,否则不能起作用。目前还没很好的解决方案。
- 因为 Firefox4 使用了 Ctrl-/ 开闭附加组件栏,所以将调用关键词输入框的快捷键更换为Alt-/,而原来编辑关键词用的 Alt-/ 更改为 Alt-.(Alt键加句点键)。
给 Chrome 用户的提醒
请安装 Tampermonkey 扩展再安装该脚本,以使该脚本全功能可用。
简介
Enhanced word highlight 是 “word highlight” 脚本的增强版本,除了原脚本的如下特性外:
- 自动高亮:在 Google 搜索结果页以及从中打开的页面中自动高亮搜索关键词;
- 继承高亮:在已有高亮关键词的情况下,在同一标签/窗口浏览的其他页面中的相同关键词也会被高亮;
- 按下 “Alt-/” 组合键可以手动输入关键词(支持正则表达式)在任何页面上高亮;
- 提供已高亮关键词的分布图和计数;
- 通过分布图和面板可以快速找到高亮关键词的位置。
还增加或增强了以下特性:
- 能够在其他网站(例如百度)的搜索结果页面自动高亮搜索关键词;
- 添加了“Lock”按钮,可以储存一组关键词并使之在任何页面均高亮;
- 面板和添加关键词的输入框样式更轻巧更美观;
- 现在只需要按一次 “Alt-/” 组合键就可以多次添加关键词(按回车添加并立即高亮),添加完了按“Esc”键就可以关闭;也可以一次输入多个关键词,用空格分隔;
- 高亮样式与原文本无缝结合;
- 更方便查找高亮关键词位置,可点击高亮面板上的关键词或直接在关键词上滚动滚轮;
- 增强的自动翻页工具支持;
- 以及更多……
使用说明
- 自动高亮搜索关键词: 在 Google 等支持的搜索引擎的搜索结果页面,搜索关键词就会自动高亮。
- 手动添加要高亮的关键词:用 “Alt-/” 组合键激活关键词输入框,填入关键词,按 “Enter” 键或点击输入框右边的 “→” 按钮即可。要高亮多个关键词的话,可以用空格分隔的方式一次输入多个关键词,也可以在关键词输入框多次加入(见下方《高亮限制》段落)。每次新添加的关键词默认会加到高亮关键词列表后面。在关键词输入框按 “Esc” 键或点击 “X” 按钮可关闭关键词输入框。#提示:支持正则表达式(见下方《高亮正则表达式》段落)。
- 高亮选中文本:选中要高亮的文本,按下 “Alt-/” 组合键,就会高亮选中文本中的关键词。
- 高亮全新一组关键词:用 “Alt-/” 组合键激活关键词输入框,点击关键词输入框左边的复选框,复选框的标注会从 “Add” 变成 “New” ,此时添加关键词后,旧的高亮会去除,只有新添加的关键词会被高亮。
- 查找高亮关键词的位置:在高亮面板中,左键点击你想要查找的关键词按钮,页面将跳到该关键词下一个出现位置并突出显示,右键点击则会跳到上一个出现位置。鼠标指针悬浮在关键词按钮上滚动鼠标滚轮也会有同样效果。#提示:按 “n” 和 “Shift-n” 快捷键可以向上/向下按出现顺序跳转高亮关键词位置,不区分关键词。
- 切换一个关键词的高亮:点击该关键词右上角的复选框切换。
- 切换所有关键词的高亮:点击高亮面板上的 “O” 按钮切换。#提示:按 “Alt-,”(Alt键加逗号键)快捷键也可以。
- 刷新高亮:如果动态更新的内容没被高亮,请按 “r” 键(焦点需在文本输入框外)刷新高亮。
- 停用高亮:点击高亮面板上的 “X” 按钮关闭面板和去除高亮。#注意:停用高亮后,该窗口/标签页的自动高亮也会同时禁用;但锁定关键词高亮不受影响。
- 停用后恢复高亮:在没选中文本的情况下按 “Alt-/” 组合键,停用前高亮的关键词会在关键词输入框中显示,你可以直接按 “Enter” 键或点击 “→” 按钮重新高亮它们。
- 查看高亮关键词分布:将鼠标指针移动到高亮面板上,一幅高亮分布图就会显示出来;在分布图上点击或拖动,页面将滚动到对应的位置。
- 编辑高亮关键词:点击高亮面板上的 “E” 按钮,关键词按钮将变成关键词编辑框,你可以随意编辑,用空格分隔各关键词,然后按 “Enter” 键或点击 “E” 按钮(橙色)结束编辑并高亮。#提示:按 “Alt-.”(Alt键加句点键)快捷键可以编辑关键词。
- 锁定高亮关键词:点击高亮面板上绿色的 “L” 按钮,当前高亮的关键词组就会在其后所有刷新的页面都高亮,而自动高亮搜索关键词会被忽略。#注意:除了“解锁”操作外任何操作都不会清除储存的关键词。
- 解锁高亮关键词:点击高亮面板上橙色的 “L” 按钮,锁定的高亮关键词将会解锁。
- 最小化高亮面板:双击高亮面板的左边手柄,高亮面板会最小化到窗口的右边,仅露出该手柄。要恢复面板请双击该手柄。
- !高亮限制:由于某些 javascript 的限制,此脚本当前无法在高亮某短关键词后再高亮其延长词,例如,当“he”高亮过,不经过刷新高亮“she”,是无法做到的。
- !高亮正则表达式:在脚本的默认设置下,如果已经有高亮的关键词,你需要清空现有高亮关键词(如在关键词输入框左边选“New”),然后才能输入并高亮一条正则表达式。如果你希望添加正则表达式到高亮而不是取代,请禁用“排列关键词”设置(见下面的“高级设置”)。
高级设置
第一部分:基本设定项
从 Greasemonkey/Tampermonkey 的菜单中选择“Enhanced word highlight 高级设置”项,页面将会打开高级设置对话框,在其中可以根据需要进行以下设置。你也可以直接在代码中的“// #### Config II #### ”区修改相应的设置。因为代码包含中文字符,编辑代码需要使用支持多种文本编码的编辑器。
你主要用那种自动翻页工具?
⚪ Autopagerize GM 脚本
⚪ Autopager 扩展
⚪ 其他(能应付任何自动翻页工具但运作较慢)
脚本本身支持 Autopagerize GM脚本 ,所以使用 Autopagerize 的用户请选择第一项(默认)。
使用 Firefox 扩展 AutoPager 的话,自动翻页页面会被自动高亮;选择第二项的话将允许脚本刷新分布图和计数。
如果你使用的是其他自动翻页工具,例如 GoogleMonkeyR GM脚本,可选择第三项让脚本检测页面变化刷新高亮。
是否默认停用短关键词的高亮?
⚪ 否
⚪ 是;针对单个字母/数字
⚪ 是,针对单/两个字母/数字
第二第三选项仍会保留一个或两个字母/数字的关键词在高亮面板上,只是不对其进行高亮。这设置不对中文字起作用。
是否禁用自动高亮(自动抓取搜索关键词来高亮)?
⚪ 不禁用
⚪ 完全禁用
⚪ 仅在从支持的搜索结果中打开的页面上禁用
⚪ 仅在支持的搜索结果页面上禁用
关闭自动高亮,也就是在搜索结果页及从中打开的页面中不再自动高亮搜索关键词。选择第三个选项时仅对从搜索结果页中打开的页面关闭自动高亮,第四项则相反。此设置项不影响继承高亮和对锁定关键词的高亮。
☐ 排列关键词以更准确高亮(推荐;需要高亮正则表达式的用户除外)
默认设置是将关键词按长到短排列后再高亮,这样能保证长词的高亮;但总存在这样的情况:你想按输入的顺序高亮、或想要先高亮短词、或者希望能够添加正则表达式,那样的话可以将这项关闭。
☐ 保存面板位置
选中的话高亮面板会记住并恢复上一次的位置
☐ 查找关键词时显示指示条
当你查找高亮关键词的时候显示一条横贯屏幕的半透明条,用以指示当前关键词所在的行。
第二部分:特殊设定项
警告:修改以下高级设置需要编辑脚本源代码,请按照说明修改代码中“// #### Config I ####”区。因为代码包含中文字符,编辑代码需要使用支持多种文本编码的编辑器。(例如 Notepad2)。
// List of url patterns; Array('NAME', 'KEYWORD_PREFIX', 'URL_PATTERN')
urlArr[0] = ['Google', 'q=', 'www.google.'];
......
用于从特定url特征中提取搜索关键词用于高亮。
// List of IDs of query input boxes; Array('#SEARCHBOX_ID#', 'SEARCHPAGE SPEC_URL')
query_id[0] = new Array('query', '');// most common
......
用于在特定网址下的页面中找到搜索输入框并提取搜索关键词用于高亮。
// keybinds
var KEY_NEXT = 'n';// "n"Next occurrence
......
设置指定功能的快捷键。
// delay of highlighting (ms)
var delay = 500;
设置脚本将延迟多久开始高亮,以免发生冲突。
// instant highlight selected keywords
var instant = true;
设置是否在按下 Alt-/ 快捷键时自动将选中文本作为关键词高亮。
// restore focus and scroll position after closing keyword input box with shortcut key?
// mainly useful for keyboard navigation, not recommend for mouse navigation.
var refocus = false;
仅适用于使用键盘操作的用户,用于纠正用快捷键关闭关键词输入框时焦点跳到页尾而妨碍方向键滚动页面的问题。如果你不是因为这个问题而烦恼,绝不要更改这设置。
// minimize the panel initially?
var panel_hide = false;
为自动高亮提供面板初始最小化状态。
第三部分:用鼠标手势调用功能
此部分适合鼠标手势重度使用者,需要支持自定义手势命令的鼠标手势组件配合使用。
content.window.wrappedJSObject.EWH_iSearch();
调出关键词输入框。
content.window.wrappedJSObject.EWH_cClose();
调用停用高亮命令。
鸣谢
多谢原作者 os0x ,在它的原脚本(版本1.0.9)基础上才能诞生这脚本。
多谢网友 grea 提供代码和好主意。 以及很多很多提供提示、主意、参考和建议的朋友。
更新记录
2010.08.15: Version 1.5.0: 为更多搜索网站、以及从他们打开的页面提供自动高亮支持;添加在搜索结果页禁用自动高亮的设置项;在代码中添加“按Esc退出关键词输入框”时恢复焦点的选项;行为变更,在焦点在关键词输入框时按 Ctrl-/ 组合键将关闭该框;行为修正,现在用半角双引号引住的关键词不会再被拆散;代码优化;由于要添加转换代码页的函数去处理百度的关键词,脚本的体积现在大了很多。
2010.11.30: Version 1.5.5: 行为变更:当有文本框外的文本被选中时按 Ctrl-/ 组合键将自动将选中文本作为关键词高亮;“Add/New”(添加/全新)输入关键词状态将持续至页面刷新;在禁用高亮后,下次在同一窗口/标签页添加高亮关键词时不再自动将之前的关键词加上,但在不选中文本按 Ctrl-/ 组合键时这些关键词仍会显示在关键词输入框中;句点不再作为关键词分隔符使用;半角双引号(")括住的关键词终于正常处理了;添加外部调用代码(用于鼠标手势调用)“content.window.wrappedJSObject.EWH_iSearch();”调出关键词输入框;其他修正和代码改进。
2010.12.02: Version 1.5.5a: 修正一个会导致脚本在非GM环境中出错不能运行的问题;修正一个会在某些情况下导致清理关键词失败的问题;添加外部调用代码(用于鼠标手势调用)“content.window.wrappedJSObject.EWH_cClose();”调用停用高亮命令。
2010.12.16: Version 1.5.6: 修正和改进切换所有关键词高亮的函数,使其在 Opera (11 beta) 下可用;添加锁定高亮分布图的按钮;行为变更:现在在非主要搜索引擎页面内,继承的关键词拥有更高优先级。
2011.06.19: Version 1.5.7: 添加对新 addon.mozilla.org 搜索页面的支持;改进样式;行为变更:现在只能通过拖动左边的手柄来移动面板;行为变更:面板最小化后不能拖动;增加代码中设置项:为自动高亮提供面板初始最小化状态;添加一行代码增强语言判断(多谢SoIN);调用关键词输入框的快捷键更换,Alt-/为调用关键词输入,Alt-.为编辑关键词。
2011.07.20: Version 1.5.7a: 修正快捷键问题,现在编辑关键词的快捷键可正常使用了,而切换全部高亮的快捷键改为 Alt-, ;样式改进;在 iframe 中启用脚本(测试);其他小修正。
2011.11.10: Version 1.5.7b: 修正 Google 重定向造成提取关键词的问题。
2017.09.22: Version 1.5.9: 修复百度utf-8字符集问题。
2017.09.22: Version 1.6.0: 添加对Google Map的https排除。
2022.01.15: Version 1.6.2: 感谢 YFdyh000 ,修正了原脚本在新版Firefox按键失效的问题。
2022.02.03: Version 1.6.3: 修正了原脚本在新版Firefox点击高亮分布图失效的问题。
2022.02.03: Version 1.6.4: 调整了指示条的显示效果;修正设置对话框在某些网页的错位问题;添加了跳过高亮单词列表的初始功能版本。
2023.01.05: Version 1.6.5: 调整了面板的样式;增加了更多搜索网站的支持。
2023.01.11: Version 1.6.6: 修正判断iframe机制避免在Microsoft Rewards中显示面板;现在在页面输入框按 Alt-/ 会自动将输入框中的文本内容作为关键词进行高亮;优化样式;新的高亮移除机制。
2023.01.29: Version 1.7.0: 修正新的高亮移除机制与必应国际版的鼠标取词功能的冲突;修正分布图当前区域在网页比窗口宽时显示偏移问题;增加DuckDuckGo支持;完全重新构建的高级设置对话框。