Javascript 使用“开”和“关”按钮停止Google Chrome扩展。怎么用?

Javascript 使用“开”和“关”按钮停止Google Chrome扩展。怎么用?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,默认情况下,我有一个名为alerton的外部JS,当扩展启用时,它将在任何Webppage上运行。 我还设置了一个弹出/菜单,当你点击右上角的Chrome扩展图标时,它会自动弹出。 我想在用户按下“关闭”按钮时关闭/删除名为“alerton”的外部javascript文件 许多小时后,我不知所措,不知道我需要做什么才能让它工作! 我已经看过chrome.contentSettings.javascript,但是看起来我不能只禁用一个特定的javascript文件 我希望有人能给出答案…实现这一点

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

许多小时后,我不知所措,不知道我需要做什么才能让它工作! 我已经看过chrome.contentSettings.javascript,但是看起来我不能只禁用一个特定的javascript文件


我希望有人能给出答案…

实现这一点的一种方法是通过读取和修改a中的布尔变量,并使用它与内容脚本和弹出页面进行通信。您可以在清单中定义如下背景页面:

  ....
  "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..
    }
});

因为不允许使用内联脚本。如何创建PopuP.html页面?您还需要一个Popup.js。所以我知道您需要包括Yes,您还需要一个popup.js,它将获取并设置开/关状态(使用上述方法)。通常,您的popup.html上会有一些UI,以允许修改开/关状态,最简单的方法是复选框。