加载页面失败时自动刷新

时间:2012-11-03 08:37:47

标签: google-chrome google-chrome-extension

我正在尝试为Chrome创建一个扩展程序,当页面加载因任何原因失败时会自动刷新页面。

我的manifest.json:

{ "browser_action" : { "default_icon" : "icon.png"
    },
  "description" : "Making your first Google Chrome extension.",
  "icons" : { "128" : "icon.png" },
  "name" : "Tutorialzine Extension",
  "version" : "1.0", 
  "permissions": [
     "webRequest",
     "tabs",
     "<all_urls>"
   ],
  "content_scripts": [
    {
      "matches": ["<all_urls>","http://*/*","https://*/*","*://*/*"],
      "js": ["myscript.js"],
      "run_at": "document_end"
    }
  ]
}

myscript.js:

chrome.webRequest.onErrorOccurred.addListener(function details){
    chrome.tabs.reload(details.tabId);
}

我做错了什么?提前谢谢!

1 个答案:

答案 0 :(得分:1)

内容脚本无权访问大多数chrome.* API。明确指出in the docs

However, content scripts have some limitations. They cannot:
- Use chrome.* APIs (except for parts of chrome.extension)

您应该使用background pageevent page代替。

chrome.webRequest.onErrorOccurred.addListener(function details)也不是有效的JavaScript代码。 function关键字不应该在那里。我相信你从docs复制了这段代码,但是在docs中,这种类型的伪JavaScript只用于描述函数定义(它期望什么类型的参数,它返回什么类型的值等等。)。