要使用Chrome的chrome.webRequest
API进行阻止,可以按照以下步骤进行操作:
webRequest
权限。在manifest.json
文件中添加以下权限声明:"permissions": [
"webRequest",
"webRequestBlocking",
"https://*/*" // 这个是示例中的URL模式,可以根据实际情况进行修改
]
// 定义白名单数组,可以根据实际情况进行修改
const whitelist = [
"https://example.com/*",
"https://example.org/*"
];
// 使用chrome.webRequest的onBeforeRequest事件进行URL拦截
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
// 检查请求的URL是否在白名单中
const isWhitelisted = whitelist.some(urlPattern => {
const patternRegex = new RegExp(urlPattern.replace(/\*/g, '.*'));
return patternRegex.test(details.url);
});
// 如果URL在白名单中,则阻止请求
if (isWhitelisted) {
return { cancel: true };
}
// 否则不阻止请求
return { cancel: false };
},
{ urls: [""] },
["blocking"]
);
background.js
),并在manifest.json
文件中指定该脚本作为后台脚本:"background": {
"scripts": [
"background.js"
],
"persistent": false
}
在Chrome浏览器的地址栏中输入chrome://extensions
打开扩展程序页面,点击右上角的“开发者模式”开关。
点击“加载已解压的扩展程序”,选择包含以上代码的文件夹进行加载。
现在,符合白名单的URL将会被阻止。请注意,这只是一个示例代码,你可以根据实际需求进行修改和扩展。