我正在尝试为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);
}
我做错了什么?提前谢谢!
答案 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 page或event page代替。
chrome.webRequest.onErrorOccurred.addListener(function details)
也不是有效的JavaScript代码。 function
关键字不应该在那里。我相信你从docs复制了这段代码,但是在docs中,这种类型的伪JavaScript只用于描述函数定义(它期望什么类型的参数,它返回什么类型的值等等。)。