1

我正在尝试开发一个 chrome 扩展,它的一部分需要具有全局查找关键字功能,就像浏览器附带的内置“查找”( Ctrl+F )一样。(编辑:它需要在同一个选项卡上多次并同时调用“查找”)

我的第一个想法是找到一个可以从 Chrome 中提供“查找”功能的 API。但是,在浏览完列表后,我看不到我在寻找什么。此外,我的问题的关键字(“Chrome 扩展”、“Chrome API”、“查找”、“搜索”)过于笼统,即使经过大量谷歌搜索,我也找不到此类 API 的类似示例或信息。

为了提供一致的用户体验,我很乐意在我的扩展程序中提供类似的(如果不准确的话)“查找”工具。为了避免重新发明轮子,最好能以某种方式调用内置函数。现有的扩展大多是 Javascript 中自己的实现,有限制(不能在 iframe 中搜索,没有全局突出显示等)。这将是我最后的手段。

有谁知道这样的 API(将从浏览器调用内置的“查找”工具)或与我的问题类似的示例?如果没有,请让我知道在 javascript 中实现它的最佳方法是什么,因为我是词法分析或解析的新手。

非常感谢!!

-加文

PS:这是我在这里的第一篇文章,如果我没有就我的问题提供足够的信息(或者你根本不认为这是一个问题),请随时告诉我!

EDIT2:我正在尝试构建一个基于“查找”的改进扩展,可以解决这种情况:

在文本密集型页面中,如果我想定位一个区域,其中提到了关键字A关键字 B ,但这两个关键字并不直接相邻,并且它们都在文档中出现了很多次。在这种情况下,我既不能搜索“ keywordA keywordB ”(因为它们彼此不相邻),也不能搜索单个关键字(出现次数过多)。

例如,在基于 html 的数学教科书中,您希望找到同时提及“线性代数”和“矩阵”的次数最多的章节。

4

1 回答 1

0

内置搜索不支持同一选项卡上的多个并发调用。因此,即使有一天它可以通过 API 访问,它也不太可能支持并发,因为并发搜索对于单个交互式用户的一般用例来说并不自然,并且涉及 UI。作为对现有内置搜索的改进,我可以想象的一件事是支持查询语言,这将允许搜索替代方案(即car | autofor OR-ing),这将以某种方式解决您需求的“多个”部分。

您的选择是使用内容脚本来搜索文本,例如(使用 jQuery):

var search_i = $('*:contains("text to find")');

通过这种方式,您可以根据需要执行和组合尽可能多的搜索,但您需要设计一个适当的(可理解的)UI,为每个搜索呈现结果,而不会干扰其他搜索。

于 2012-11-19T09:13:25.397 回答