我尝试下面的代码,目标是使用自己的firefox插件阻止第三方的所有图像
因此,例如: 如果打开 www.test.com 页面,则表示我同意查看活动域( www.test.com )中的所有图像,但我想屏蔽所有其他图片( www.boring-ads.com,www.iamthebest.net,... )
var MyPattern= /^((?!goodimg\.net).)*$/ig;
function cancel(requestDetails) {
//console.log("Canceling: " + requestDetails.url);
return {cancel: true};
}
browser.webRequest.onBeforeRequest.addListener(
cancel,
{urls: [MyPattern], types: ["image"]},
["blocking"]
);
goodimg.net 中的所有图像均已加载,但已来自其他域:(((
为什么? ...使用正则表达式无法排除字符串?
答案 0 :(得分:0)
Firefox(或Chrome)不使用RegEx来检查网址, 请阅读Match_patterns 您可以发送模式匹配项:
/^(\*|http|https|ws|wss|file|ftp):\/\/(\*|(?:\*\.)?(?:[^\/*]+))?\/(.*)$/
您可以在<all_urls>
内使用cancel
和url