我正在开发 Chrome 扩展程序,我想扩展(但不是覆盖)浏览器的搜索(ctrl-F 或 cmd-F)功能。
有什么方法可以让我的扩展程序在调用浏览器的搜索功能时收到一条消息以及输入的搜索词。
(搜索框 UI 是 HTML 格式的吗?如果是,是否有访问它的方法,以便我可以绑定(bind)到搜索输入元素上的按键/按键事件?)
最佳答案
到目前为止,您无法访问标准 Chrome 查找对话框或在调用浏览器的搜索功能时接收消息或在中呈现搜索框 UI HTML?
(通过 Ctrl + F 或 Cmd + F 触发)。
但是,您可以使用 window.find() 1.
变通
此解决方法将覆盖,因为直到日期无法扩展。
使用 chrome.commands 定义您自己的命令接口(interface)
"commands":{
"sample":{
"suggested_key" : {
"default":"Ctrl+F",
"windows":"Ctrl+F"
},
"description":"Thisismycustomkeyforchromeextension"
},
}
并为您的命令添加监听器 Ctrl + F 或 Cmd + F
chrome.commands.onCommand.addListener(function (command) {
//Do what ever you want here
})
这将覆盖标准 Ctrl + F 或 Cmd + F 并使用您自己的 content script构建所有 UI 和功能逻辑,以抓取相关内容的页面。
1: window.find()
范围仅落在选定的文本中
引用资料
关于javascript - Chrome 扩展 : how to bind/hook to the browser's "search invoked" event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14529486/