説明
chrome.devtools.network API を使用して、デベロッパー ツールの [ネットワーク] パネルに表示されるネットワーク リクエストに関する情報を取得します。
マニフェスト
デベロッパー ツール API の使用に関する一般的な概要については、DevTools API の概要をご覧ください。
概要
ネットワーク リクエスト情報は、HTTP アーカイブ形式(HAR)で表されます。HAR の説明は、このドキュメントのスコープ外です。HAR v1.2 仕様を参照してください。
HAR の観点から見ると、chrome.devtools.network.getHAR() メソッドは HAR ログ全体を返しますが、chrome.devtools.network.onRequestFinished イベントはイベント コールバックの引数として HAR エントリを提供します。
効率上の理由から、リクエスト コンテンツは HAR の一部として提供されません。リクエストの getContent() メソッドを呼び出してコンテンツを取得できます。
ページが読み込まれた後にデベロッパー ツール ウィンドウを開くと、getHAR() から返されるエントリの配列に一部のリクエストが含まれないことがあります。ページを再読み込みして、すべてのリクエストを取得します。一般に、getHAR() から返されるリクエストのリストは、[ネットワーク] パネルに表示されるリストと一致します。
例
次のコードは、40 KB を超えるすべての画像の URL を読み込み時にログに記録します。
chrome.devtools.network.onRequestFinished.addListener(
function(request) {
if (request.response.bodySize > 40*1024) {
chrome.devtools.inspectedWindow.eval(
'console.log("Large image: " + unescape("' +
escape(request.request.url) + '"))');
}
}
);
この API を試すには、chrome-extension-samples リポジトリから devtools API のサンプルをインストールします。
型
Request
ドキュメント リソース(スクリプト、画像など)のネットワーク リクエストを表します。リファレンスについては、HAR 仕様をご覧ください。
プロパティ
-
getContent
void
Promiseレスポンス本文の内容を返します。
getContent関数は次のようになります。(callback?: function) => {...}
-
callback
関数 省略可
callbackパラメータは次のようになります。(response: object) => void
-
レスポンス
オブジェクト
Chrome 151 以降レスポンス本文とそのエンコードを含むオブジェクト。
-
コンテンツ
文字列
レスポンス本文の内容(エンコードされている可能性あり)。
-
encoding
文字列
コンテンツがエンコードされていない場合は空、それ以外の場合はエンコード名。現在、base64 のみがサポートされています。
-
-
-
戻り値
Promise<object>
Chrome 151 以降リクエストの完了時にレスポンス本文を受け取る関数。
Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
-
メソッド
getHAR()
chrome.devtools.network.getHAR(
callback?: function,
): Promise<object>
既知のすべてのネットワーク リクエストを含む HAR ログを返します。
パラメータ
-
callback
関数 省略可
callbackパラメータは次のようになります。(harLog: object) => void
-
harLog
オブジェクト
HAR ログ。詳しくは、HAR 仕様をご覧ください。
-
戻り値
-
Promise<object>
Chrome 151 以降リクエストが完了したときに HAR ログを受け取る関数。
Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
イベント
onNavigated
chrome.devtools.network.onNavigated.addListener(
callback: function,
)
検査対象のウィンドウが新しいページに移動したときに発生します。
パラメータ
-
関数
callbackパラメータは次のようになります。(url: string) => void
-
文字列
-
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
ネットワーク リクエストが完了し、すべてのリクエスト データが利用可能になったときに呼び出されます。