5

默认情况下,我有一个名为 alerton 的外部 JS,当启用扩展时,它将在 anywebppage 上运行。当您单击右上角的 Chrome 扩展程序图标时,我还设置了一个弹出/菜单。我想当用户按下按钮“关闭”来关闭/删除一个名为“alerton”的外部javascript文件

很多小时后,我不知道我需要做什么才能让它工作!我查看了 chrome.contentSettings.javascript 但是似乎我不能只禁用一个特定的 Javascript 文件。

我希望有人能给出答案...

4

1 回答 1

5

实现此目的的一种方法是读取和修改后台页面中的布尔变量,并使用消息传递与您的内容脚本和弹出页面进行通信。您可以在清单中定义背景页面,如下所示:

  ....
  "background": {
    "scripts": ["background.js"]
  },
  ....

background.js 看起来像这样:

var isExtensionOn = true;

chrome.extension.onMessage.addListener(
function (request, sender, sendResponse) {
    if (request.cmd == "setOnOffState") {
        isExtensionOn = request.data.value;
    }

    if (request.cmd == "getOnOffState") {
        sendResponse(isExtensionOn);
    }
});

然后从您的 PopUp.html 和您的内容脚本中,您可以调用 background.js 来读取和设置isExtensionOn变量。

//SET VARIABLE
var isExtensionOn = false;
chrome.extension.sendMessage({ cmd: "setOnOffState", data: { value: isExtensionOn } });

//GET VARIABLE
chrome.extension.sendMessage({ cmd: "isAutoFeedMode" }, function (response) {
    if (response == true) {
     //Run the rest of your content-script in here..
    }
});
于 2013-05-18T08:44:24.213 回答