Chrome内容脚本(De)/激活

时间:2013-01-28 19:53:56

标签: javascript json google-chrome google-chrome-extension content-script

我试图让用户通过按钮激活/停用Chrome内容脚本。 在我看来,最好的方法是通过chrome.browserAction。

但是如果我添加

 chrome.browserAction.onClicked.addListener(function(tab) {
 chrome.tabs.executeScript(null, {file: "script.js"});
 });

到background.html,无论是否按下按钮,脚本都会运行。 脚本的其余部分运行正常。唯一的问题是浏览器按钮。 任何可能出现问题的想法? 谢谢!

2 个答案:

答案 0 :(得分:1)

contentScriptbrowserActionpageAction不同。如果它作为内容脚本加载到您的manifest.json中,则会执行它,就好像它包含在页面上的<script>标记中一样。

您可以使用内容脚本中的Chrome message passing API来检查background.html中的变量,也可以将脚本加载为pageAction,具体取决于哪种功能更适合您。

答案 1 :(得分:0)

您是否意识到您的代码在后台页面中执行内容脚本?

chrome.browserAction.onClicked.addListener(function (tab) {
        chrome.tabs.executeScript(null, {
            file: "script.js"
        });
    });

只要在任何标签页中单击浏览器图标,该代码就会运行,并在后台页面中执行。

你想要达到什么目标?