我正在尝试开发一个chrome扩展,其中一部分需要具有全局查找关键字功能,就像浏览器附带的内置“查找”( Ctrl + F )一样。 (编辑:需要多次调用“查找”并同时在同一个标签上调用)
我的第一个想法是找到一个可以提供Chrome“查找”功能的API。但是,经过list之后,我看不出我在寻找什么。此外,我的问题的关键字(“Chrome扩展程序”,“Chrome API”,“查找”,“搜索”)过于通用,即使经过大量谷歌搜索,我也无法找到此类API的类似示例或信息。
为了提供一致的用户体验,我很乐意在我的扩展程序中提供类似的(如果不是确切的话)“查找”工具。为了避免重新发明轮子,最好能以某种方式调用内置函数。 Existing extensions主要是Javascript中的一个自己的实现,有限制(无法在iframe内搜索,没有全局突出显示等)。这将是我的最后手段。
有没有人知道这样的API(会从浏览器中调用内置的“查找”工具)或类似的问题示例?如果没有,请告诉我在javascript中实现它的最佳方法是什么,因为我是词法分析或解析的新手。
非常感谢!!
-Gavin
P.S:这是我在这里的第一篇文章,如果我没有提供足够的信息(或者你根本不认为这是一个问题),请随时告诉我!
EDIT2:我正在尝试构建一个基于“查找”的改进扩展,可以解决这种情况:
在文本密集的页面中,如果我想找到一个区域,其中提到 keywordA 和 keywordB ,但这两个关键字并不是彼此紧密相邻,而是它们在文档中多次出现。在这种情况下,我既不能搜索“ keywordA keywordB ”(因为它们不是彼此相邻),也不能搜索单个关键字(发生次数过多)。
例如,在基于html的数学教科书中,您希望找到一个最常提及“线性代数”和“矩阵”的章节。< / p>
答案 0 :(得分:0)
内置搜索不支持同一选项卡上的多个并发调用。因此,即使有一天它可以通过API访问,它也不太可能支持并发,因为并发搜索对于单个交互式用户的一般用例并不自然,并且涉及UI。我可以想象的一件事是对现有内置搜索的改进是支持查询语言,这将允许搜索替代方案(即car | auto
的{{1}} - 这将以某种方式解决“多个” “部分要求。
您的选择是使用内容脚本来搜索文本,例如(使用jQuery):
OR
通过这种方式,您可以根据需要执行和组合尽可能多的搜索,但您需要设计一个适当的(可理解的)用户界面,为每次搜索显示结果,而不会干扰其他搜索。