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對象。 –