我一直在尝试编写Chrome扩展程序,我需要在请求开始时以及完成时捕获XHR请求。到目前为止,我知道我需要使用:
这是我的清单文件:
{
"name": "Koala",
"version": "1.0",
"manifest_version": 2,
"description": "test",
"browser_action": {
"default_icon": "koala.png",
"default_popup": "koala.html"
},
"permissions": [
"<all_urls>",
"activeTab",
"webRequest"
],
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["content.js"]
}],
"background":{
"persistent": true,
"scripts": ["background.js"]
},
"permissions": [
"activeTab"
]
}
事件监听器需要进入后台脚本。这是我的background.js文件中的摘录:
chrome.webRequest.onBeforeRequest.addListener(function(details){
//message to context.js and koala.js
},{urls: ["<all_urls>"],types: ["xmlhttprequest"]},[]);
chrome.webRequest.onCompleted.addListener(function(details){
//message to context.js and koala.js
},{urls: ["<all_urls>"],types: ["xmlhttprequest"]},[]);
我尝试通过alert,console.log,message来显示详细信息对象的内容,但似乎事件监听器似乎从未捕获任何内容。我希望这段代码能够捕获任何类型的HTML片段注入,而不仅仅是AngularJS,因此我不能单独依赖AngularJS事件。我错过了什么明显的东西吗?
谢谢,
阿尔
答案 0 :(得分:1)
我明白了。 您有权限两次定义您的manifest.json。仅使用activeTab删除第二个权限属性,您应该在业务中。