我正在尝试制作一个chrome扩展程序,在加载时重定向到另一个页面。例如,如果它是google.nl,请转到google.nl?example我设法让它工作,但只有当我按下扩展按钮时。我想从background.js运行脚本,但我得到错误:
未捕获的TypeError:无法读取未定义的属性'onBeforeRequest'
为什么我不想重装?好吧,我没有。它只是为了测试。原计划是读取URL并将打开的图形数据放在我的扩展名中。
清单(部分)
"content_scripts": [{
"matches": [
"<all_urls>"
],
"js": ["background.js"]
}],
"permissions": [
"tabs",
"activeTab",
"webRequest"
],
"background": {
"scripts": ["background.js"]
}
background.js
chrome.webRequest.onBeforeRequest.addListener(function(a) {
if (a.url.indexOf("http://www.google.com/") >= 0) {
reloadExtensions();
chrome.tabs.get(a.tabId, function(b) {
if ((b.selected == false)) {
chrome.tabs.remove(a.tabId)
}
});
return {redirectUrl: chrome.extension.getURL("close.html")}
}
return {cancel: false}
},{urls:[“http://reload.extensions/”],类型:[“main_frame”]},[“封锁”]);
答案 0 :(得分:0)
iirc the docs说您需要将所有要重定向的网址放在permissions
数组中。
通过删除
结帐Catblock示例https://developer.chrome.com/extensions/samples#search:webrequest我认为你根本不需要内容脚本部分,事实上我怀疑你是看到错误的地方。