Отключение / включение JavaScript только на одной вкладке из расширения Firefox/Chrome (с использованием веб-расширений)

Я делаю расширение (добавить) для Firefox/Chrome/Opera/ и т. Д., Используя систему веб-расширений.

Я хочу включить или отключить JavaScript, но для каждой вкладки, а не глобально. Т.е. в первой вкладке она будет отключена, а во второй - включена.

Я пытаюсь найти решение здесь, но я не вижу его:

https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs

Или, может быть, есть способ сделать это только с помощью чистого Javascript? Кстати, именно поэтому я также отметил это с помощью Javascript.

1 ответ

Решение

Вы можете сделать это с помощью API chrome.contentsettings. Вам нужно будет объявить разрешение "contentsettings" в файле manifest.json:

"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");
        }
    );
}
Другие вопросы по тегам