2014-01-23 57 views
0

此代碼不起作用:阻塞的WebRequest

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>"]}); 

的問題 - 爲什麼第一個代碼將無法正常工作?

回答

1

您的第一個和第二個代碼段唯一的區別是"blocking" extraInfoSpec。
這表明您尚未在manifest.json中聲明需要webRequestBlocking權限。如果你想用「堵」,那麼你必須將它添加到manifest.json,像這樣:

{ 
    ... 
    "permissions": [ 
     "webRequest", 
     "webRequestBlocking", 
     "webRequest" 
    ], 
    ... 
}

這是一個錯誤,它已在https://code.google.com/p/chromium/issues/detail?id=311511報道(「缺少webRequestBlocking許可沒有給出警告開發者「)。