脚本未在 Chrome 扩展中完全执行
Script doesn't fully execute in Chrome Extension
希望这很简单。我正在测试一个简单的 Chrome 扩展脚本,它似乎会执行脚本的一部分,但不会完成它。例如,如果我在脚本的开头添加一个 alert()
,它将执行警报。但是如果我把它放在任何调用 chrome
DOM 对象之后,它就不会执行。这是一个例子:
将执行警报
alert("Test");
chrome.webRequest.onCompleted.addListener(function (request) { });
不会执行警报
chrome.webRequest.onCompleted.addListener(function (request) { });
alert("Test");
我是不是漏掉了什么?
这是我的清单:
{
"background": {
"persistent": true,
"scripts": [
"scripts/libs/jquery.1.11.2.min.js",
"scripts/background.js"
]
},
"browser_action": {
"default_icon": "resources/icon.19.png"
},
"icons": {
"48": "resources/icon.48.png"
},
"manifest_version": 2,
"name": "Test",
"permissions": [
"<all_urls>",
"webNavigation",
"webRequest",
"webRequestBlocking"
],
"version": "1.0"
}
你少了自己调试。
转到 chrome://extensions/
并为您的后台页面加载开发工具。您将看到停止执行的未捕获异常。
对于 webRequest
事件,您 必须 include a filter argument 到 addListener
函数。
希望这很简单。我正在测试一个简单的 Chrome 扩展脚本,它似乎会执行脚本的一部分,但不会完成它。例如,如果我在脚本的开头添加一个 alert()
,它将执行警报。但是如果我把它放在任何调用 chrome
DOM 对象之后,它就不会执行。这是一个例子:
将执行警报
alert("Test");
chrome.webRequest.onCompleted.addListener(function (request) { });
不会执行警报
chrome.webRequest.onCompleted.addListener(function (request) { });
alert("Test");
我是不是漏掉了什么?
这是我的清单:
{
"background": {
"persistent": true,
"scripts": [
"scripts/libs/jquery.1.11.2.min.js",
"scripts/background.js"
]
},
"browser_action": {
"default_icon": "resources/icon.19.png"
},
"icons": {
"48": "resources/icon.48.png"
},
"manifest_version": 2,
"name": "Test",
"permissions": [
"<all_urls>",
"webNavigation",
"webRequest",
"webRequestBlocking"
],
"version": "1.0"
}
你少了自己调试。
转到 chrome://extensions/
并为您的后台页面加载开发工具。您将看到停止执行的未捕获异常。
对于 webRequest
事件,您 必须 include a filter argument 到 addListener
函数。