サイト用のHTTP応答を取得できるChrome拡張機能を作成しています。 Chrome拡張機能:Network.getResponseBodyを使用しようとすると「指定された識別子のリソースが見つかりません」
var gCurrentTab; chrome.debugger.onEvent.addListener(function (source, method, params) { if (gCurrentTab.id != source.tabId) { return; } if (method == "Network.loadingFinished") { var tabId = source.tabId; var requestId = params.requestId; chrome.debugger.sendCommand( source, "Network.getResponseBody", {"requestId": requestId}, function (body) { console.log(body); chrome.debugger.detach(source); }); } } ); chrome.webRequest.onBeforeRequest.addListener(function (details) { var url = details.url; if (url.indexOf('/mypage') >= 0) { chrome.tabs.query({ currentWindow: true, active: true }, function (tabs) { gCurrentTab = tabs[0]; chrome.debugger.attach({ tabId: gCurrentTab.id }, "1.0", function() { chrome.debugger.sendCommand({ tabId: gCurrentTab.id }, "Network.enable"); }); }); } }, {urls: []}, ["requestBody", "blocking"]);しかしdebugger.sendCommand実行している間、私はいつも
未確認runtime.lastErrorを取得::私は、レスポンスボディを取得するためのデバッガを使用しようとしない{ "コード": - 32000、 "メッセージ": "いいえリソース指定された識別子が見つかりました」} chrome-extension://ikphgobkghdkjkfplgokmapjlbdfeegl/background.js:11:29
エラーです。本文は未定義です。
これはなぜ起こるのでしょうか?ありがとう!
あなたはこれを黙示的に使用できますか? 私は同じ問題に直面しますが、それを修正する方法を見つけることができません – cen0r
ここにあります。要は、正しい要求IDと同じデバッガを使用する必要があります。 –