打开网页的时候,有些网址因为各种原因无法访问,那么会导致网站加载时间变长,而这些资源又不影响正常业务的使用,可以考虑用浏览器插件拦截掉这些URL请求,返回空内容,从而加快速度。
如果要在浏览器中拦截特定URL地址,可以用这样的方法:
新建浏览器插件:
manifest.json:
{
"manifest_version": 3,
"name": "JS请求拦截器",
"version": "1.0",
"description": "拦截特定JS文件请求并返回空内容",
"permissions": [
"declarativeNetRequest"
],
"host_permissions": [
"http://*/*",
"https://*/*"
],
"background": {
"service_worker": "background.js"
}
}
background.js:
const blockedUrls = [
"https://unreachable-server.com/library.js",
"https://cdn.problematic.com/main.js",
"http://external-domain.com/blocked-script.js",
"https://another-bad-domain.com/libs/jquery.js"
];
const rules = blockedUrls.map((url, index) => ({
id: index + 1,
priority: 1,
action: {
type: "redirect",
redirect: {
url: "data:application/javascript,"
}
},
condition: {
urlFilter: url,
resourceTypes: ["script"]
}
}));
chrome.declarativeNetRequest.updateDynamicRules({
addRules: rules,
removeRuleIds: rules.map(rule => rule.id)
});
console.log('JS拦截规则已设置');
这样就能正常使用了。