Отключение / включение 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");
}
);
}