使用开和关按钮停止 Google Chrome 扩展程序。如何?

pai*_*247 5 javascript google-chrome-extension

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

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

希望有人能解答...

QFD*_*Dev 5

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

  ....
  "background": {
    "scripts": ["background.js"]
  },
  ....
Run Code Online (Sandbox Code Playgroud)

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);
    }
});
Run Code Online (Sandbox Code Playgroud)

从您的 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..
    }
});
Run Code Online (Sandbox Code Playgroud)