仅在Firefox / Chrome扩展名(使用Web扩展名)的一个选项卡中禁用 /启用JavaScript



我使用Web扩展程序系统为Firefox/Chrome/Opera/etc进行扩展(添加(。

我想启用或禁用JavaScript,但是每个选项卡,而不是全球。IE。在第一个选项卡中,它将被禁用,但在第二个选项卡中 - 启用。

我试图在这里找到一个解决方案,但我看不到它:

https://developer.mozilla.org/en-us/add-ons/webextensions/browser_support_for_javascript_apis_apis

或者,只有纯JavaScript有一种方法可以做到这一点?顺便说一句 - 这就是为什么我还用JavaScript标记了此。

您可以使用Chrome.Contentsettings API进行此操作。您需要在清单中声明" contentsettings"许可。

"permissions": [   
   "contentSettings"
 ]

然后,允许/禁止JavaScript:

this.setJavascript=function(setting){
    if(!(['allow','block'].includes(setting)) ){
        console.log("invalid setting passed to setjavascript");
        setting='allow';
    }
    //  *://www.example.com/*
    var pattern= "*://"+this.domain+"/*";
    chrome.contentSettings.javascript.set({
            'primaryPattern': pattern,
            'setting': setting,
        }, function () {
           // console.log("Javascript blocked");
        }
    );
}

最新更新