当我点击Google Chrome扩展程序的弹出式图标时,如何触发内容脚本运行?

时间:2012-05-15 20:43:55

标签: google-chrome-extension

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

这是我的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"
    }
}

2 个答案:

答案 0 :(得分:4)

如果除了按下按钮之外的任何其他时间都不需要内容脚本,请参阅programmatic injection上的Chrome文档,以便executeScript动态注入脚本。

答案 1 :(得分:2)

您需要查看message passing。基本上设置是:

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

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