发布于 2022-02-22 16:38:04
您可以使用installBuiltIn注册一个系统installBuiltIn,该系统使用webRequest.onBeforeRequest阻止从给定域加载图像,实际上也可以使用任何其他条件。
示例:
在/assets/下为您的扩展名创建一个文件夹,例如/assets/block-images,并添加一个manifest.json和background.js文件,如下所示:
manifest.json
{
"manifest_version": 2,
"name": "block-images",
"version": "1.0",
"description": "Block images from mozilla.org",
"browser_specific_settings": {
"gecko": {
"id": "block-images@example.com"
}
},
"permissions": [
"*://*.mozilla.org/*",
"webRequest",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"]
}
}background.js
"use strict";
function listener(details) {
// blocks all images from twitter.com
return {cancel: true};
}
browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["*://*.mozilla.org/*"], types: ["image"]},
["blocking"]
);然后,您可以在启动时使用ensureBuiltIn安装扩展。
runtime
.getWebExtensionController()
.ensureBuiltIn(
"resource://android/assets/block-images/",
"block-images@example.com");在此之后,在GeckoView中加载的任何页面都将阻止图像到mozilla.org,就像background.js文件中定义的那样。
https://stackoverflow.com/questions/71205677
复制相似问题