私は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、メッセージングを経由して、オブジェクトが、単にイベントリスナーは何をキャプチャしませんようです。このコードでは、AngularJSだけではなく、あらゆる種類のHTMLフラグメントをキャプチャしたいので、AngularJSイベントのみに依存することはできません。何も分からないのですか?
おかげで、
アルバン
バックグラウンドスクリプトの場合、コンソールを表示する必要がありますが、拡張機能の下にあるinspectビューのラベルの横にある背景スクリプトをクリックすると、chrome:// extensionsビューからデバッガを起動する必要があります。 –
こんにちはゴードン、あなたのコメントのおかげで。 chrome.webRequestは未定義です。背景ページにアクセスしてチェックしたところ、chromeオブジェクトは存在しますが、webRequestオブジェクトはありません。 –
私はこの問題を発見したと思う。私のマニフェストファイルには2回のパーミッションが宣言されています2番目の宣言を削除すると、私の背景ページがchrome.webRequestオブジェクトを認識しました。 –