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

康拉多斯

我正在使用Web Extensions系统对Firefox / Chrome / Opera / etc进行扩展(添加)。

我想启用或禁用javascript,但要按选项卡,而不是全局。即在第一个选项卡中,它将被禁用,而在第二个选项卡中,将被启用。

我正在尝试在这里找到解决方案,但看不到:

https://developer.mozilla.org/zh-CN/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs

或者,也许有一种方法可以仅使用纯Javascript来做到这一点?顺便说一句-这就是为什么我也用Javascript标记了这个原因。

凯蒂

您可以使用chrome.contentsettings API进行此操作。您将需要在manifest.json中声明“ 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");
        }
    );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用JavaScript在Chrome扩展程序中获取当前选项卡的URL

如何以编程方式将选项卡移动到firefox Addon-SDK扩展中的另一个窗口?

Firefox Web扩展更改新选项卡附件的URL

仅在Firefox中出现Javascript参考错误

需要添加删除按钮并仅在引导程序选项卡中删除选定的选项卡

仅在一个位置禁用Chrome扩展程序

Firefox中的Google Chrome扩展程序

Google Map仅在Firefox中显示

无法在Firefox中启用或禁用扩展

仅在Firefox和Chrome中强制刷新JavaScript文件

Chrome扩展程序仅在当前选项卡中更改用户代理

如何使用Java和JavaScript限制用户仅在一个选项卡/窗口中登录?

使用Firefox扩展程序中的Web Workers的XPCOM

元素悬停slideToggle怪胎仅在Firefox中

按钮:仅在Firefox中无法悬停之后

jQuery-Marquee仅在Firefox中工作

document.getElementById仅在Firefox中工作

div的位置更改仅在Firefox中

使用后台脚本的Firefox扩展插件选项卡

使用JavaScript和Greasemonkey重新加载Firefox中的一个选项卡?

如何仅在一个选项卡中打开Firebug

仅在Firefox中应用CSS规则

仅在我的Firefox-OS手机上为一个应用程序启用数据漫游

在Firefox / IE上隐藏元素,仅在Chrome上显示

位置:仅在Firefox 47中已修复的问题

如何仅在一个窗口中运行chrome扩展程序?

React - 仅在一个选项卡中显示按钮

仅在 Chrome 扩展程序的特定选项卡上注入 JS

仅在一个选项卡上的操作脚本