问题描述
我正在构建一个 chrome 扩展,它需要重定向某个页面的脚本。我的 background.js 包括:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (/js\example.js/.test(details.url))
// setTimeout(requestScript(details),0);
return {
redirectUrl: chrome.extension.getURL("novoScript.js")
}
},{urls: ['*://*.example.com/*.js']},["blocking"]
);
manifest.json 包括:
"background": {
"scripts": ["background.js"],"persistent": true
},
它按预期工作,但该功能仅在我单击弹出按钮后重新加载页面时运行。我第一次在新选项卡中打开页面时,它没有运行。如果我在页面中,并且单击了弹出按钮,则它始终有效。如果我没有点击,无论我重新加载多少次,重定向都不起作用。
我试过擦除 popup.js 的全部内容,没有任何区别,所以不是因为那里有任何代码。
另外,我已经检查过 background.js 文件没有再次运行,所以看起来监听器在那里,但是如果我不点击弹出按钮它就不会监听。我还在监听器函数中添加了 console.log,在我点击按钮之前,它只记录对 'aobut:blank' url 的调用。
我想让监听器在不点击弹出窗口的情况下工作,以避免不一致。任何帮助表示赞赏。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)