如何在GMAILS Chrome扩展程序中阻止图像加载?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在GMAILS Chrome扩展程序中阻止图像加载?相关的知识,希望对你有一定的参考价值。
在我简单的gmail chrome扩展中 - 我想阻止在已发送邮件中加载图像。
当我加入时,chrome.webRequest.onBeforeRequest.addListener
内部正在工作
urls: [ "*://*.googleusercontent.com/*" ]
在urls数组中。但是这将触发我只想为这种模式"*://*/#https://mysite/*",
射击的所有图像
但它根本没有触发 - 如果我包含googleusercontent url它正在使用这种格式的details.url -
https://ci6.googleusercontent.com/proxy/IB4W2KvisZjL2rgC....#https://mysite/*
表现
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.googleusercontent.com/*",
"*://*/#https://track1/*",
"*://*.googleusercontent.com/*/://track1/*"
],
并在后台脚本中
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
console.log(details);
}, {
urls: [
"*://*/#https://track1/*",
]
}, ['blocking']
);
我认为问题在于模式匹配,但我无法理解使用哪种模式
答案
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
// Here inside details.url - you see each image is in format https://googlecontent
console.log(details);
}, {
urls: [
"*://*/#https://track1/*",
]
}, ['blocking']
);
如上所述Inside details.url - 你会看到每个图像的格式为https://googlecontent
所以你需要在urls
数组中包含这个模式。
现在如何获取所需的url链接
if (details.url.includes('<include link string here>') || details.url.includes('<other link here>')) {
if (some condition to stop image load met) cancel = true;
}
以上是关于如何在GMAILS Chrome扩展程序中阻止图像加载?的主要内容,如果未能解决你的问题,请参考以下文章
如何链接到 Google Chrome 扩展程序的本地图像?