chrome.devtools.network

説明

chrome.devtools.network API を使用して、デベロッパー ツールの [ネットワーク] パネルに表示されるネットワーク リクエストに関する情報を取得します。

マニフェスト

この API を使用するには、次のキーをマニフェストで宣言する必要があります。

"devtools_page"

デベロッパー ツール 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()

Promise
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

    関数

    callback パラメータは次のようになります。

    (url: string) => void

    • URL

      文字列

onRequestFinished

chrome.devtools.network.onRequestFinished.addListener(
  callback: function,
)

ネットワーク リクエストが完了し、すべてのリクエスト データが利用可能になったときに呼び出されます。

パラメータ

  • callback

    関数

    callback パラメータは次のようになります。

    (request: Request) => void