0
我一直在努力编写一个Chrome扩展,我需要在开始请求时捕获XHR请求,但也需要完成。到目前为止,我知道我需要使用:chrome.webRequest.onBeforeRequest捕获AngularJS XHR请求
- chrome.webRequest.onBeforeRequest和
- chrome.webRequest.onCompleted
这里是我的清单文件:
{
"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"]},[]);
我想显示的细节内容通过警报,执行console.log,消息对象,但它只是似乎该事件侦听器永远不会捕捉任何东西。我希望这段代码能够捕获任何类型的HTML片段注入,而不仅仅是AngularJS,所以我不能单独依赖AngularJS事件。我错过了什么明显的?
感谢,
阿尔
对于后台脚本,您应该能够看到控制台,但您需要通过单击扩展下的inspect views标签旁边的背景脚本,从chrome:// extensions视图启动调试器。 –
嗨戈登,感谢您的评论。 chrome.webRequest是未定义的。我通过访问后台页面来检查,铬对象存在但没有webRequest对象。 –
我想我找到了问题。我的清单文件有两次声明的权限。当我删除第二个声明时,我的背景页面识别出chrome.webRequest对象。 –