增强 Firefox 中的 Find 命令
Firefox 中的 Find 命令可以在 Web 页面的主体中定位用户指定的文本.该命令是一个易于使用的工具,大多数用户通常都可以很好地使用该工具.但是,使用更强大的类似 Find 的工具有时可以更轻松地定位文本.本文将介绍如何构建这种工具,通过检测邻近文字的显示和消失更快地隔离 Web 页面中相关的文本. 要求 硬件 用较旧(2002 年以前)的硬件在典型 Web 页面中进行文本搜索几乎可以瞬间完成.但是,本文提供的代码在设计时没有考虑高速执行,并且可能要求使用较快的硬件才能在大型 Web 页面中按照用户满意的速度执行. 软件 本文的代码是为了结合使用 Firefox V2.0 和 Greasemonkey V0.7 而开发的.使用比它们更高的版本需要测试并且可能需要修改才能确保功能性.作为 Greasemonkey 脚本,本文提供的代码应当可以在支持 Firefox 和 Greasemonkey 的任何一个操作系统中运行.我们在 Microsoft? Windows? 和 Linux? Ubuntu V7.10 版本中进行过测试. Greasemonkey 和 Firefox 扩展 对 Web 页面执行用户修改是 Greasemonkey 履行的任务,并且本文提供的代码将使用 Greasemonkey 框架来搜索和高亮显示相关文本.有关 Greasemonkey Firefox 扩展,请参阅 参考资料. 此 Greasemonkey 脚本的设计目的演示 熟悉 UNIX grep 命令及其常用 -v 选项的人知道如何将不可缺少的 grep 用于从文件提取相关文本行.遵守 UNIX 简单性原则的文本文件通常按照逐行的格式存储文本,这样可以轻松地找到靠近在一起的文字.-v 选项将输出未找到指定文本的行. 与文本文件不同的是,Web 页面通常用标签和浏览器呈现到行中的其他标记分隔文本.各种不同的浏览器窗口大小使您很难根据期望的行位置来隔离邻近文本.表、链接和其他文本标记也使您很难隔离位于 “同一行” 的文本. 本文中的算法旨在解决这些难题,提供类似于 grep 的简单功能,并使用工作原理类似于 grep 的 -v 选项的函数.这将允许用户查找文本的某个词,然后只高亮显示不包含另一个不同词的条目.图 1 显示了这种情况的示例. 图 1. DOM 和 DOM hierarchy 搜索示例 在图像的上半部分中,脚本高亮显示了搜索文本 “DOM”.在下半部分中,注意如何只高亮显示前三个 “DOM” 条目,在极为接近第三个 “DOM” 的位置找到了第二个搜索文本 “hierarchy”. 考虑图 2.
该图的第一部分显示所有 2008 条目,而第二部分 -v 关键字 PM,因此只显示中午前的条目.继续阅读获得全部信息以及如何实现此功能的更多示例.
greppishFind.user.js Greasemonkey 用户脚本 介绍 Greasemonkey 编程环境的独特之处不在本文讨论范围之内.假定您熟悉 Greasemonkey,包括如何安装、修改和调试脚本.要获得关于 Greasemonkey 及如何开始编写自定义用户脚本的更多信息,请参阅 参考资料. 一般而言,greppishFind.user.js 用户脚本在载入页面时启动,在输入特定组合键后提供文本区域,并且根据用户输入的文本执行高亮搜索.清单 1 显示了 greppishFind.user.js 用户脚本的开头部分.
|
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |