Chrome扩展:如何绑定/挂钩到浏览器的“搜索调用”事件

chrome extension: how to bind/hook to the browser's "search invoked" event?

本文关键字:浏览器 搜索 调用 事件 搜索调用 何绑定 扩展 绑定 Chrome      更新时间:2023-09-26

我正在开发Chrome扩展程序,我想扩展(但不覆盖)浏览器的搜索(ctrl-F或cmd-F)功能。

有没有办法让我的扩展在调用浏览器的搜索功能时收到一条消息,以及输入的搜索词。

(搜索框 UI 是 HTML 格式吗?如果是这样,有没有办法访问它,以便我可以绑定到它搜索输入元素上的按键/键下事件?

到目前为止,您无法访问标准 Chrome 查找对话框或在调用浏览器的搜索功能或以 HTML 格式呈现搜索框 UI 时收到消息?

(通过 Ctrl + F 或 Cmd + F 触发)。

但是,您可以使用 window.find()1

解决方法

此解决方法将覆盖,因为到目前为止无法扩展

使用 chrome.commands API 定义您自己的命令

"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,并使用您自己的内容脚本来构建所有 UI 和功能逻辑,以抓取相关内容的页面。

1:window.find()范围仅落在所选文本中

引用

  • 内容脚本
  • 命令接口