Firefox扩展程序是否可以挂钩浏览器提供的搜索栏,以便在用户执行搜索时,回调函数(由扩展程序提供)接收搜索查询以及使用了哪个搜索引擎?
我能够找到有关XUL元素包含搜索栏文本框(How do I target the search bar from a Firefox extension?)的信息,但这是我能够获得的。
答案 0 :(得分:0)
searchbar元素有一堆由chrome://browser/content/search/search.xml
的XBL文件定义的方法。您感兴趣的功能是doSearch(query, where, engine)
。简单地覆盖它似乎运作良好:
// in the context of a loaded browser window…
let bar = document.getElementById("searchbar");
let doSearch = bar.doSearch;
bar.doSearch = function(query, where, engine) {
// your code here! e.g. console.log(query, where, engine);
// don't forget to call the original function:
doSearch(query, where, engine);
};
完整的示例是Clear Search扩展名。