此代码不起作用:
chrome.webRequest.onBeforeRequest.addListener(function(details){
console.log(details);
},{urls:["<all_urls>"]},['blocking']);
此代码确实有效:
chrome.webRequest.onBeforeRequest.addListener(function(details){
console.log(details);
},{urls:["<all_urls>"]});
问题 - 为什么第一个代码不起作用?
答案 0 :(得分:1)
您的第一个和第二个代码段之间的唯一区别是"blocking"
extraInfoSpec
这表示您尚未在webRequestBlocking
中声明必需 manifest.json
权限。如果您想使用“阻止”,则必须将其添加到manifest.json
,如下所示:
{
...
"permissions": [
"webRequest",
"webRequestBlocking",
"webRequest"
],
...
}
这是一个错误,已在https://code.google.com/p/chromium/issues/detail?id=311511报告(“缺少webRequestBlocking权限不会向开发人员发出警告”)。