下面是一个简单的扩展程序,可以在正常版本的chrome上正常工作。 onHeadersReceived
和onBeforeSendHeaders
会捕获所有请求。但是,在chromebook上,它不会捕获file:///
个请求。这可能与Chromebook上的额外安全措施有关,还是类似的?本地html文件通过chromebook上的SD卡正常加载,但请求未被捕获(初始html文件请求和任何本地资源,如随后由该html页面加载的图像)。
修改:请注意,我已确保在chrome://extensions
页面上勾选了“允许访问文件网址”复选框。此外,即使没有file:///*/*
权限,它也能在我的非Chromebook笔记本电脑上正常工作 - <all_urls>
权限/过滤器似乎已足够。
chrome.webRequest.onHeadersReceived.addListener(function(details) {
debugger;
}, {urls: ["<all_urls>", "file:///*/*"]}, ["blocking", "responseHeaders"]);
chrome.webRequest.onBeforeSendHeaders.addListener(function(details) {
debugger;
}, {urls: ["<all_urls>", "file:///*/*"]}, ["blocking", "requestHeaders"]);
{
"name": "test",
"version": "0.0.1",
"manifest_version": 2,
"description": "test.",
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs",
"webRequest",
"webRequestBlocking",
"<all_urls>",
"file:///*/*"
]
}