如何通过单击浏览器右上角的图像来启用/禁用自定义chrome扩展

时间:2016-02-28 16:34:02

标签: javascript google-chrome

我正在尝试为chrome注入javascript代码创建一个插件,我可以添加一个在浏览器右上角可见的图像,但我想将图像作为一个开关,它将启用/禁用javascript的注入,我无法执行此启用/禁用部分,任何人都可以在这里帮助我。

1 个答案:

答案 0 :(得分:0)

您可以添加“content_scripts”来监听来自DOM的特定事件。

触发事件后,您可以message后台脚本停止其魔法(您甚至可以切换扩展图标以指示它已被禁用)。

示例:

<强> content_script.js:

function setActive(state) {

chrome.extension.sendRequest({ msgType: "setActive", State: state});

return;

}

<强> Background.js:

chrome.extension.onRequest.addListener(

function (request, sender, sendResponse) {
        if(sender.tab.active == false) return;
        var tabId = -1;

        try {
            tabId = sender.tab.id;
        } catch (e) { }
        if (tabId == -1) return;


        switch (request.msgType) {

            case 'setActive':
                if(request.State == 'off') {
                    //Stop extension activity
                    ...
                    //change extension icon to indicate inactivity
                    chrome.browserAction.setIcon({
                        'path': 'Images/Off.png'
                    });
                }


                break;

        }
});

<强>的manifest.json

"content_scripts": [
        {
          "matches": ["http://*/*", "https://*/*"],
          "js": ["content_script.js"],
          "run_at":"document_end"
        }
      ],