4

构建我的第一个 Chrome 应用程序,并且想知道如何myscript.js仅在单击 icon.png 时运行。现在它只在页面加载时运行。

这是我的 manifest.json 文件:

{
    "name": "My extension",
    "version": "1.0",
    "background_page": "background.html",
    "permissions": [
        "tabs", "http://*/*"
    ],
    "content_scripts": [
        {
            "matches": ["http://*/*"],
            "js": ["myscript.js"],
            "run_at": "document_end"
        }
    ],
    "browser_action": {
        "default_icon": "icon.png"
    }
}
4

2 回答 2

4

如果除了按下按钮之外,您在其他任何时候都不需要内容脚本,请参阅有关程序注入的 Chrome 文档以executeScript用于动态注入脚本。

于 2012-05-15T22:24:59.953 回答
2

您将需要研究消息传递。基本上设置是:

  • 制作另一个监听指令的内容脚本
  • 单击弹出窗口时,将指令发送到内容脚本
  • 内容脚本做它需要做的事情,传回一些说它已经完成的事情
  • Popup 知道工作已经完成

这样做是为了使内容脚本和后台脚本(或弹出窗口)隔离且安全。

于 2012-05-15T22:05:18.573 回答