1个回答

test
2024-07-14
manifest.json
{
"manifest_version": 2,
"permissions": [
"webRequest",
"webRequestBlocking"
]
}
background
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
const { url } = details;
// 用来测试返回的内容,如果可行的话换成你要替换的内容
// 不过按照这个方法貌似不能替换异步获取的内容
const testResponse = JSON.stringify({
msg: 'hello world!'
});
// 这里换成对应的 URL 过滤表达式
if (url) {
return { redirectUrl: 'data:javascript,' + testResponse };
}
// 无需替换的返回原 URL
return {
redirectUrl: url,
};
},
{
urls: ["*"], //你要拦截的url地址
types: ["ajax"], //拦截类型
},
["blocking"] //类型blocking为拦截,
);
👆 应该可行,不可行的话这个方向应该也没错。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容