自动启动镀铬扩展

时间:2015-11-08 19:36:53

标签: javascript google-chrome

我正在尝试制作一个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”]},[“封锁”]);

1 个答案:

答案 0 :(得分:0)

iirc the docs说您需要将所有要重定向的网址放在permissions数组中。

如果不这样,您将看到以下错误 enter image description here

通过删除

结帐Catblock示例https://developer.chrome.com/extensions/samples#search:webrequest

我认为你根本不需要内容脚本部分,事实上我怀疑你是看到错误的地方。