我正在尝试运行一个脚本来拦截来自background.js的获取请求。我使用chrome.scripting.executeScript来运行该脚本。
chrome.contextMenus.onClicked.addListener((info, tab) => {
chrome.scripting
.executeScript({
target : {tabId : tab.id},
files : [ "scr.js" ],
})
.then(() => console.log("script injected"));
})
在脚本scr.js中,我试图处理无效的响应。当我从调试控制台运行相同的代码时,它运行得非常好。
const ofetch = window.fetch;
window.fetch = async(...args) => {
var result = await ofetch(...args);
result
.clone()
.json()
.then(body => console.log(body)); // intercept response here
return result;
};
alert("hi")
注:
alert('hi')
用于调试哪个运行良好,但fetch方法不会被覆盖。整个代码在控制台上再次运行良好,包括fetch部分。