chrome.webRequest

説明

chrome.webRequest API を使用して、トラフィックの監視と分析を行い、処理中のリクエストをインターセプト、ブロック、変更します。

権限

webRequest

ウェブ リクエスト API を使用するには、必要なホスト権限とともに、拡張機能のマニフェスト"webRequest" 権限を宣言する必要があります。サブリソースのリクエストをインターセプトするには、拡張機能がリクエストされた URL とそのイニシエータの両方にアクセスできる必要があります。次に例を示します。

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

webRequestBlocking

ブロッキング イベント ハンドラを登録するために必要です。Manifest V3 では、このポリシーを使用できるのは、ポリシーにインストールされている拡張機能のみです。

webRequestAuthProvider

onAuthRequired メソッドを使用するために必要です。認証の処理をご覧ください。

コンセプトと使用方法

リクエストのライフサイクル

ウェブ リクエスト API は、ウェブ リクエストのライフサイクルに従う一連のイベントを定義します。これらのイベントを使用して、トラフィックをモニタリングおよび分析できます。一部の同期イベントでは、リクエストをインターセプト、ブロック、または変更できます。

リクエストが成功した場合のイベントのライフサイクルをここに示し、その後にイベントの定義を示します。

webrequest API の観点から見たウェブ リクエストのライフサイクル

onBeforeRequest(必要に応じて同期)
リクエストが発生する直前に呼び出されます。このイベントは、TCP 接続が確立される前に送信され、リクエストのキャンセルまたはリダイレクトに使用できます。
onBeforeSendHeaders(必要に応じて同期)
リクエストが発生する直前に、最初のヘッダーの準備が整っているときに呼び出されます。このイベントは、拡張機能がリクエスト ヘッダー(*)を追加、変更、削除できるようにすることを目的としています。onBeforeSendHeaders イベントはすべてのサブスクライバーに渡されるため、さまざまなサブスクライバーがリクエストを変更しようとする可能性があります。この処理方法については、実装の詳細セクションをご覧ください。このイベントを使用してリクエストをキャンセルできます。
onSendHeaders
すべての拡張機能がリクエスト ヘッダーを変更できるようになると起動され、最終的な(*)バージョンが表示されます。このイベントは、ヘッダーがネットワークに送信される前にトリガーされます。このイベントは情報提供であり、非同期で処理されます。リクエストの変更やキャンセルはできません。
onHeadersReceived(必要に応じて同期)
HTTP(S) レスポンス ヘッダーが受信されるたびに呼び出されます。リダイレクトと認証リクエストにより、これはリクエストごとに複数回発生する可能性があります。このイベントの目的は、拡張機能が受信 Content-Type ヘッダーなどのレスポンス ヘッダーを追加、変更、削除できるようにすることです。キャッシュ ディレクティブは、このイベントがトリガーされる前に処理されるため、Cache-Control などのヘッダーを変更してもブラウザのキャッシュには影響しません。また、リクエストをキャンセルまたはリダイレクトすることもできます。
onAuthRequired(必要に応じて同期)
リクエストでユーザーの認証が必要な場合に発生します。このイベントを同期的に処理して、認証情報を提供できます。拡張機能によって無効な認証情報が提供される場合があります。無効な認証情報を繰り返し提供して無限ループに陥らないように注意してください。これはリクエストのキャンセルにも使用できます。
onBeforeRedirect
リダイレクトが実行される直前に発生します。リダイレクトは、HTTP レスポンス コードまたは拡張機能によってトリガーできます。このイベントは情報提供を目的としており、非同期で処理されます。リクエストを変更またはキャンセルすることはできません。
onResponseStarted
レスポンス本文の最初のバイトを受信したときに発生します。HTTP リクエストの場合は、ステータス行とレスポンス ヘッダーを使用できることを意味します。このイベントは情報提供を目的としており、非同期で処理されます。リクエストの変更やキャンセルはできません。
onCompleted
リクエストが正常に処理されると発生します。
onErrorOccurred
リクエストを正常に処理できなかった場合に発生します。

ウェブ リクエスト API は、リクエストごとに onCompleted または onErrorOccurred のいずれかが最終イベントとして呼び出されることを保証します。ただし、リクエストが data:// URL にリダイレクトされた場合、onBeforeRedirect は最後に報告されたイベントです。

* ウェブ リクエスト API は拡張機能にネットワーク スタックの抽象化を提示します。 内部的には、1 つの URL リクエストを複数の HTTP リクエストに分割することも(大きなファイルから個々のバイト範囲を取得する場合など)、ネットワークと通信することなくネットワーク スタックで処理することもできます。このため、API はネットワークに送信される最終的な HTTP ヘッダーを提供しません。たとえば、キャッシュに関連するすべてのヘッダーは拡張機能からは見えません。

以下のヘッダーは現在、onBeforeSendHeaders イベントに指定されていません。このリストは、完全または安定しているとは限りません。

  • 承認
  • Cache-Control
  • 接続
  • Content-Length
  • ホスト
  • If-Modified-Since
  • If-None-Match
  • if-Range
  • 部分データ
  • プラグマ
  • プロキシ認証
  • プロキシ接続
  • Transfer-Encoding

Chrome 79 以降、リクエスト ヘッダーの変更はクロスオリジン リソース シェアリング(CORS)チェックに影響します。クロスオリジン リクエストの変更済みヘッダーが条件を満たさない場合、CORS プリフライトを送信して、このようなヘッダーが受け入れ可能かどうかをサーバーに確認します。CORS プロトコルに違反する方法でヘッダーを変更する必要がある場合は、opt_extraInfoSpec'extraHeaders' を指定する必要があります。一方、レスポンス ヘッダーを変更しても CORS チェックを欺くことはできません。CORS プロトコルを欺く必要がある場合は、レスポンスの変更に 'extraHeaders' も指定する必要があります。

Chrome 79 以降、webRequest API はデフォルトでは CORS プリフライトのリクエストとレスポンスをインターセプトしません。リクエスト URL の opt_extraInfoSpec'extraHeaders' が指定されているリスナーがある場合、リクエスト URL の CORS プリフライトは拡張機能に表示されます。onBeforeRequest は Chrome 79 から 'extraHeaders' を取得することもできます。

Chrome 79 以降では、次のリクエスト ヘッダーは提供されずopt_extraInfoSpec'extraHeaders' を指定しないと変更も削除もできません。

  • 原点

Chrome 72 以降では、クロスオリジン読み取りブロック(CORB)によってレスポンスがブロックされる前にレスポンスを変更する必要がある場合、opt_extraInfoSpec'extraHeaders' を指定する必要があります。

Chrome 72 以降では、次のリクエスト ヘッダーは提供されずopt_extraInfoSpec'extraHeaders' を指定しないと変更も削除もできません。

  • Accept-Language
  • Accept-Encoding
  • リファラー
  • Cookie

Chrome 72 以降では、Set-Cookie レスポンス ヘッダーは提供されずopt_extraInfoSpec'extraHeaders' を指定しないと変更も削除もできません。

Chrome 89 以降では、opt_extraInfoSpec'extraHeaders' を指定しないと、X-Frame-Options レスポンス ヘッダーを効果的に変更または削除できなくなります。

webRequest API は、拡張機能のホスト権限に基づいて、拡張機能が参照する権限を持っているリクエストのみを公開します。また、http://https://ftp://file://ws://(Chrome 58 以降)、wss://(Chrome 58 以降)、urn:(Chrome 91 以降)、chrome-extension:// のスキームのみにアクセスできます。また、上記のスキームのいずれかを使用した URL を含む特定のリクエストも非表示になります。これには、chrome-extension://other_extension_idother_extension_id はリクエストを処理する拡張機能の ID ではありません)、https://www.google.com/chrome、ブラウザ機能の中核となるその他の機密性の高いリクエストが含まれます。また、拡張機能からの同期 XMLHttpRequest は、デッドロックを防ぐためにイベント ハンドラをブロックしません。サポートされているスキームの一部では、対応するプロトコルの性質上、利用可能なイベントのセットが制限される場合があります。たとえば、file: スキームの場合、onBeforeRequestonResponseStartedonCompletedonErrorOccurred のみをディスパッチできます。

Chrome 58 以降、webRequest API は WebSocket handshake リクエストのインターセプトをサポートしています。handshake は HTTP アップグレード リクエストによって実行されるため、そのフローは HTTP 指向の webRequest モデルに適合します。この API はインターセプトしません

  • 確立済みの WebSocket 接続を介して送信される個々のメッセージ。
  • WebSocket が接続を終了しています。

WebSocket リクエストではリダイレクトはサポートされていません

Chrome 72 以降では、リクエストされた URL とリクエスト開始元の両方に対してホスト権限がある場合にのみ、拡張機能がリクエストをインターセプトできるようになります。

Chrome 96 以降、webRequest API は HTTP/3 handshake リクエストを介して WebTransport のインターセプトをサポートしています。handshake は HTTP CONNECT リクエストによって実行されるため、そのフローは HTTP 指向の webRequest モデルに適合します。留意点:

  • セッションが確立されると、拡張機能は webRequest API を介してセッションを監視したり介入したりすることはできません。
  • onBeforeSendHeaders の HTTP リクエスト ヘッダーの変更は無視されます。
  • リダイレクトと認証は、HTTP/3 を介した WebTransport ではサポートされていません

リクエスト ID

各リクエストはリクエスト ID で識別されます。この ID は、ブラウザ セッション内と拡張機能のコンテキスト内で一意です。この値は、リクエストのライフサイクル中は一定であり、同じリクエストのイベントを照合するために使用できます。HTTP リダイレクトまたは HTTP 認証の場合、複数の HTTP リクエストは 1 つのウェブ リクエストにマッピングされます。

イベント リスナーの登録

ウェブ リクエストのイベント リスナーを登録するには、通常の addListener() 関数のバリエーションを使用します。コールバック関数を指定するだけでなく、フィルタ引数を指定する必要があります。また、オプションの追加情報引数を指定することもできます。

ウェブ リクエスト API の addListener() に対する 3 つの引数の定義は次のとおりです。

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

onBeforeRequest イベントをリッスンする例を次に示します。

chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

addListener() 呼び出しは、最初のパラメータとして必須のコールバック関数を受け取ります。このコールバック関数には、現在の URL リクエストに関する情報を含む辞書が渡されます。この辞書の情報は、特定のイベントタイプと opt_extraInfoSpec の内容によって異なります。

オプションの opt_extraInfoSpec 配列に文字列 'blocking' が含まれている場合(特定のイベントでのみ許可)、コールバック関数は同期的に処理されます。つまり、コールバック関数が返されるまでリクエストはブロックされます。この場合、コールバックは、リクエストのライフサイクルを決定する webRequest.BlockingResponse を返すことができます。コンテキストに応じて、このレスポンスではリクエストのキャンセルまたはリダイレクト(onBeforeRequest)、リクエストのキャンセルまたはヘッダーの変更(onBeforeSendHeadersonHeadersReceived)、リクエストのキャンセルまたは認証情報の提供(onAuthRequired)が可能です。

オプションの opt_extraInfoSpec 配列に代わりに文字列 'asyncBlocking' が含まれている場合(onAuthRequired にのみ許可)、拡張機能は webRequest.BlockingResponse を非同期で生成できます。

webRequest.RequestFilter filter を使用すると、さまざまなディメンションでイベントがトリガーされるリクエストを制限できます。

URL
*://www.google.com/foo*bar などの URL パターン
main_frame(トップレベル フレーム用に読み込まれるドキュメント)、sub_frame(埋め込みフレーム用に読み込まれるドキュメント)、image(ウェブサイトの画像)などのリクエスト タイプ。webRequest.RequestFilter をご覧ください。
タブ ID
1 つのタブの識別子。
ウィンドウ ID
ウィンドウの識別子。

イベントタイプに応じて、opt_extraInfoSpec に文字列を指定して、リクエストに関する追加情報をリクエストできます。これは、明示的にリクエストされた場合にのみ、リクエストのデータに関する詳細情報を提供するために使用されます。

認証の処理

HTTP 認証のリクエストを処理するには、マニフェスト ファイルに "webRequestAuthProvider" 権限を追加します。

{
  "permissions": [
    "webRequest",
    "webRequestAuthProvider"
  ]
}

なお、"webRequestBlocking" 権限を持つポリシー インストール済みの拡張機能の場合、この権限は必要ありません。

認証情報を同期的に提供するには:

chrome.webRequest.onAuthRequired.addListener((details) => {
    return {
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    };
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['blocking']
);

認証情報を非同期で提供するには:

chrome.webRequest.onAuthRequired.addListener((details, callback) => {
    callback({
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    });
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['asyncBlocking']
);

実装の詳細

ウェブ リクエスト API を使用する拡張機能を開発する場合、実装の詳細を理解しておく必要があります。

web_accessible_resources

拡張機能が webRequest API を使用して公開リソース リクエストをウェブアクセスできないリソースにリダイレクトすると、拡張機能はブロックされ、エラーが発生します。これは、ウェブアクセスできないリソースがリダイレクト拡張機能によって所有されている場合にも当てはまります。DeclarativeWebRequest API で使用するリソースを宣言するには、こちらに記載されているように、マニフェストで "web_accessible_resources" 配列を宣言し、値を指定する必要があります。

競合解決

現在のウェブ リクエスト API の実装では、少なくとも 1 つの拡張機能がリクエストのキャンセルを指示すると、リクエストはキャンセルされたとみなされます。拡張機能がリクエストをキャンセルすると、onErrorOccurred イベントによってすべての拡張機能に通知されます。リクエストのリダイレクトやヘッダーの変更を行える拡張機能は、一度に 1 つのみです。複数の拡張機能がリクエストを変更しようとした場合は、最後にインストールされた拡張機能が有効になり、他のすべての拡張機能は無視されます。変更またはリダイレクトの指示が無視された場合、拡張機能には通知されません。

キャッシュ

Chrome は、ディスク上のキャッシュと高速なメモリ内キャッシュの 2 つのキャッシュを採用しています。メモリ内キャッシュの存続期間は、レンダリング プロセスの存続期間に関連付けられます。これは、ほぼタブに対応します。メモリ内キャッシュから応答されたリクエストは、ウェブ リクエスト API には表示されません。リクエスト ハンドラの動作(リクエストがブロックされる動作など)が変更された場合、単にページを更新するだけでは、変更された動作が反映されない場合があります。動作変更を確実に適用するには、handlerBehaviorChanged() を呼び出してメモリ内キャッシュをフラッシュします。ただし、キャッシュのフラッシュは非常に負荷の高いオペレーションであるため、頻繁には実行しないでください。イベント リスナーを登録または登録解除した後に handlerBehaviorChanged() を呼び出す必要はありません。

タイムスタンプ

ウェブ リクエスト イベントの timestamp プロパティは、内部的整合性のみが保証されています。あるイベントを別のイベントと比較すると正しいオフセットが得られますが、拡張機能内の現在の時刻と比較((new Date()).getTime() などを使用)すると、予期しない結果が生じる可能性があります。

エラー処理

無効な引数を指定してイベントを登録しようとすると、JavaScript エラーがスローされ、イベント ハンドラは登録されません。イベントの処理中にエラーがスローされた場合、またはイベント ハンドラが無効なブロック レスポンスを返した場合、エラー メッセージが拡張機能のコンソールに記録され、そのリクエストでハンドラは無視されます。

次の例は、www.evil.com へのすべてのリクエストをブロックする方法を示しています。

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

この関数はブロッキング イベント ハンドラを使用するため、"webRequest" 権限とマニフェスト ファイルの "webRequestBlocking" 権限が必要です。

次の例では、www.evil.com をターゲットとしていないリクエストを拡張機能に渡す必要がないため、同じ目標をより効率的に達成できます。

chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

次の例は、すべてのリクエストから User-Agent ヘッダーを削除する方法を示しています。

chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders.splice(i, 1);
        break;
      }
    }
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]
);

chrome.webRequest API を試すには、chrome-extension-samples リポジトリから webRequest サンプルをインストールします。

BlockingResponse

「blocking」の extraInfoSpec が適用されているイベント ハンドラの値を返します。イベント ハンドラがネットワーク リクエストを変更できるようにします。

プロパティ

  • authCredentials

    オブジェクト 省略可

    onAuthRequired イベントに対するレスポンスとしてのみ使用されます。設定されている場合、指定された認証情報を使用してリクエストが行われます。

    • パスワード

      文字列

    • ユーザー名

      文字列

  • cancel

    ブール値(省略可)

    true の場合、リクエストはキャンセルされます。これにより、リクエストは送信されません。これは、onBeforeRequest、onBeforeSendHeaders、onHeadersReceived、onAuthRequired イベントへのレスポンスとして使用できます。

  • redirectUrl

    string(省略可)

    onBeforeRequest イベントと onHeadersReceived イベントへのレスポンスとしてのみ使用されます。設定すると、元のリクエストは送信または完了されず、指定された URL にリダイレクトされます。data: などの HTTP 以外のスキームへのリダイレクトは許可されます。リダイレクト アクションによって開始されるリダイレクトは、リダイレクトに対して元のリクエスト メソッドを使用します。ただし、1 つの例外があります。リダイレクトが onHeadersReceived ステージで開始される場合、リダイレクトは GET メソッドを使用して発行されます。ws:// スキームと wss:// スキームを含む URL からのリダイレクトは無視されます。

  • requestHeaders

    HttpHeaders 省略可

    onBeforeSendHeaders イベントへのレスポンスとしてのみ使用されます。設定されている場合、これらのリクエスト ヘッダーを使用してリクエストが実行されます。

  • responseHeaders

    HttpHeaders 省略可

    onHeadersReceived イベントへのレスポンスとしてのみ使用されます。設定されている場合、サーバーはこれらのレスポンス ヘッダーで応答したとみなされます。競合の数を制限するために本当にヘッダーを変更する場合にのみ responseHeaders を返します(リクエストごとに responseHeaders を変更できるのは 1 つの拡張機能のみです)。

FormDataItem

Chrome 66 以降

フォームデータ内で渡されたデータが含まれます。URL エンコードされた形式では、データが utf-8 文字列の場合は文字列として、それ以外の場合は ArrayBuffer として保存されます。form-data の場合は ArrayBuffer です。form-data がアップロード ファイルを表す場合、ファイル名が指定されている場合は、ファイル名付きの文字列になります。

Enum

ArrayBuffer

文字列

HttpHeaders

HTTP ヘッダーの配列。各ヘッダーは、キー name と、value または binaryValue のいずれかのキーを含む辞書として表されます。

タイプ

オブジェクト []

プロパティ

  • binaryValue

    number[] 省略可

    UTF-8 で表現できない場合の HTTP ヘッダーの値。個々のバイト値(0..255)として格納されます。

  • name

    文字列

    HTTP ヘッダーの名前。

  • value

    string(省略可)

    HTTP ヘッダーが UTF-8 で表すことができる場合の値。

IgnoredActionType

Chrome 70 以降

Enum

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44 以降

Enum

"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。

"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。

"asyncblock"
コールバック関数を非同期に処理することを指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnBeforeRedirectOptions

Chrome 44 以降

Enum

"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnBeforeRequestOptions

Chrome 44 以降

Enum

"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。

"requestBody"
リクエスト本文をイベントに含める必要があることを指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnBeforeSendHeadersOptions

Chrome 44 以降

Enum

"requestHeaders"
リクエスト ヘッダーをイベントに含める必要があることを指定します。

"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnCompletedOptions

Chrome 44 以降

Enum

"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnErrorOccurredOptions

Chrome 79 以降

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 以降

Enum

"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。

"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnResponseStartedOptions

Chrome 44 以降

Enum

"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

OnSendHeadersOptions

Chrome 44 以降

Enum

"requestHeaders"
リクエスト ヘッダーをイベントに含める必要があることを指定します。

"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。

RequestFilter

webRequest イベントに適用するフィルタを記述するオブジェクト。

プロパティ

  • tabId

    number(省略可)

  • タイプ

    ResourceType[] 省略可

    リクエスト タイプのリスト。どのタイプにも一致しないリクエストは除外されます。

  • urls

    string[]

    URL または URL パターンのリスト。どの URL とも一致しないリクエストは除外されます。

  • windowId

    number(省略可)

ResourceType

Chrome 44 以降

Enum

"main_frame"
リソースをメインフレームとして指定します。

"sub_frame"
リソースをサブフレームとして指定します。

"stylesheet"
リソースをスタイルシートとして指定します。

"script"
リソースをスクリプトとして指定します。

"image"
リソースを画像として指定します。

"font"
リソースをフォントとして指定します。

"object"
リソースをオブジェクトとして指定します。

"xmlhttprequest"
リソースを XMLHttpRequest として指定します。

"ping"
リソースを ping として指定します。

"csp_report"
リソースをコンテンツ セキュリティ ポリシー(CSP)レポートとして指定します。

"media"
リソースをメディア オブジェクトとして指定します。

"websocket"
リソースを WebSocket として指定します。

"webbundle"
リソースを WebBundle として指定します。

"other"
リストされているタイプに含まれないタイプとしてリソースを指定します。

UploadData

URL リクエストでアップロードされたデータが含まれます。

プロパティ

  • bytes

    省略可

    データのコピーを含む ArrayBuffer。

  • あなた宛てに表示されます。

    string(省略可)

    ファイルのパスと名前を含む文字列。

プロパティ

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

10 分間の持続間隔ごとに handlerBehaviorChanged を呼び出せる最大回数。handlerBehaviorChanged は高コストな関数呼び出しであり、頻繁には呼び出すべきではありません。

20

Methods

handlerBehaviorChanged()

Promise
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)

キャッシュによる誤った処理を防ぐために、webRequest ハンドラの動作が変更されたときに呼び出す必要があります。この関数呼び出しにはコストがかかります。頻繁に呼びかけるのは避けましょう。

パラメータ

  • callback

    関数(省略可)

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

    ()=>void

戻り値

  • Promise<void>

    Chrome 116 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

イベント

onActionIgnored

Chrome 70 以降
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

拡張機能がネットワーク リクエストに対して提案した変更が無視されると呼び出されます。これは、他の拡張機能と競合する場合に起こります。

パラメータ

  • callback

    機能

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

    (details: object)=>void

    • 詳細

      オブジェクト

      • 無視された提案されたアクション。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

onAuthRequired

chrome.webRequest.onAuthRequired.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnAuthRequiredOptions[],
)

認証の失敗を受信したときに呼び出されます。リスナーには、認証情報を提供する、リクエストをキャンセルしてエラーページを表示する、チャレンジに対して何もしない、という 3 つのオプションがあります。不正なユーザー認証情報が提供された場合は、同じリクエストで複数回呼び出されることがあります。extraInfoSpec パラメータには、'blocking' モードまたは 'asyncBlocking' モードのいずれか 1 つのみを指定する必要があります。

パラメータ

  • callback

    機能

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

    (details: object,asyncCallback?: function)=>BlockingResponse|undefined

    • 詳細

      オブジェクト

      • チャレンジャー

        オブジェクト

        認証をリクエストしているサーバー。

        • 主催者

          文字列

        • ポート

          数値

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • isProxy

        boolean

        プロキシ認証の場合は true、WWW 認証の場合は false です。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • レルム

        string(省略可)

        サーバーによって提供される認証領域(存在する場合)。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • responseHeaders

        HttpHeaders 省略可

        このレスポンスとともに受信した HTTP レスポンス ヘッダー。

      • scheme

        文字列

        認証スキーム(基本やダイジェストなど)。

      • statusCode

        数値

        Chrome 43 以降

        サーバーから返される標準の HTTP ステータス コード。

      • statusLine

        文字列

        レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

    • asyncCallback

      関数(省略可)

      Chrome 58 以降

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

      (response: BlockingResponse)=>void

    • 戻り値

      「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。

  • フィルタ
  • extraInfoSpec

onBeforeRedirect

chrome.webRequest.onBeforeRedirect.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRedirectOptions[],
)

サーバー開始型のリダイレクトが発生するときに呼び出されます。

パラメータ

  • callback

    機能

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

    (details: object)=>void

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • fromCache

        boolean

        このレスポンスがディスク キャッシュから取得されたかどうかを示します。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • ip

        string(省略可)

        リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • redirectUrl

        文字列

        新しい URL。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • responseHeaders

        HttpHeaders 省略可

        このリダイレクトとともに受信した HTTP レスポンス ヘッダー。

      • statusCode

        数値

        サーバーから返される標準の HTTP ステータス コード。

      • statusLine

        文字列

        レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

  • フィルタ
  • extraInfoSpec

onBeforeRequest

chrome.webRequest.onBeforeRequest.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRequestOptions[],
)

リクエストが発生する直前に呼び出されます。

パラメータ

  • callback

    機能

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

    (details: object)=>BlockingResponse|undefined

    • 詳細

      オブジェクト

      • documentId

        string(省略可)

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • documentLifecycle
        Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • frameType
        Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestBody

        オブジェクト 省略可

        HTTP リクエストの本文データが含まれます。extraInfoSpec に「requestBody」が含まれている場合にのみ指定します。

        • error

          string(省略可)

          リクエスト本文のデータを取得する際のエラー。

        • formData

          オブジェクト 省略可

          リクエスト メソッドが POST で、本文が UTF8 でエンコードされた一連の Key-Value ペアで、multipart/form-data または application/x-www-form-urlencoded としてエンコードされている場合、このディクショナリが存在し、各キーにそのキーのすべての値のリストが含まれます。データが別のメディアタイプの場合、またはデータの形式が正しくない場合、辞書は存在しません。この辞書の値は {'key': ['value1', 'value2']} のようになります。

        • raw

          UploadData[] 省略可

          リクエスト メソッドが PUT または POST で、本文がまだ formData で解析されていない場合、未解析のリクエスト本文の要素がこの配列に含まれます。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

    • 戻り値

      「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。

  • フィルタ
  • extraInfoSpec

onBeforeSendHeaders

chrome.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

リクエスト ヘッダーが使用可能になると、HTTP リクエストの送信前に呼び出されます。これは、サーバーに TCP 接続した後、HTTP データが送信される前に発生することがあります。

パラメータ

  • callback

    機能

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

    (details: object)=>BlockingResponse|undefined

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestHeaders

        HttpHeaders 省略可

        このリクエストとともに送信される HTTP リクエスト ヘッダー。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

    • 戻り値

      「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。

  • フィルタ
  • extraInfoSpec

onCompleted

chrome.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

リクエストが完了すると呼び出されます。

パラメータ

  • callback

    機能

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

    (details: object)=>void

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • fromCache

        boolean

        このレスポンスがディスク キャッシュから取得されたかどうかを示します。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • ip

        string(省略可)

        リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • responseHeaders

        HttpHeaders 省略可

        このレスポンスとともに受信した HTTP レスポンス ヘッダー。

      • statusCode

        数値

        サーバーから返される標準の HTTP ステータス コード。

      • statusLine

        文字列

        レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

  • フィルタ
  • extraInfoSpec

    OnCompletedOptions[] 省略可

onErrorOccurred

chrome.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

エラーが発生したときに呼び出されます。

パラメータ

  • callback

    機能

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

    (details: object)=>void

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。リクエストがフレームのナビゲーションである場合、この値は存在しません。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • error

        文字列

        エラーの説明。この文字列は、リリース間での下位互換性は保証されません。解析し、その内容に基づいて措置を講じることは禁止されています。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • fromCache

        boolean

        このレスポンスがディスク キャッシュから取得されたかどうかを示します。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • ip

        string(省略可)

        リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

  • フィルタ
  • extraInfoSpec

onHeadersReceived

chrome.webRequest.onHeadersReceived.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnHeadersReceivedOptions[],
)

リクエストの HTTP レスポンス ヘッダーが受信されたときに呼び出されます。

パラメータ

  • callback

    機能

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

    (details: object)=>BlockingResponse|undefined

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • responseHeaders

        HttpHeaders 省略可

        このレスポンスとともに受信した HTTP レスポンス ヘッダー。

      • statusCode

        数値

        Chrome 43 以降

        サーバーから返される標準の HTTP ステータス コード。

      • statusLine

        文字列

        レスポンスの HTTP ステータス行、または HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

    • 戻り値

      「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。

  • フィルタ
  • extraInfoSpec

onResponseStarted

chrome.webRequest.onResponseStarted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnResponseStartedOptions[],
)

レスポンス本文の最初のバイトを受信したときに呼び出されます。HTTP リクエストの場合、ステータス行とレスポンス ヘッダーを使用できることを意味します。

パラメータ

  • callback

    機能

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

    (details: object)=>void

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • fromCache

        boolean

        このレスポンスがディスク キャッシュから取得されたかどうかを示します。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • ip

        string(省略可)

        リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • responseHeaders

        HttpHeaders 省略可

        このレスポンスとともに受信した HTTP レスポンス ヘッダー。

      • statusCode

        数値

        サーバーから返される標準の HTTP ステータス コード。

      • statusLine

        文字列

        レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

  • フィルタ
  • extraInfoSpec

onSendHeaders

chrome.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

リクエストがサーバーに送信される直前に呼び出されます(以前の onBeforeSendHeaders コールバックの変更は、onSendHeaders が呼び出されるまでに変更されています)。

パラメータ

  • callback

    機能

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

    (details: object)=>void

    • 詳細

      オブジェクト

      • documentId

        文字列

        Chrome 106 以降

        リクエストを行っているドキュメントの UUID。

      • Chrome 106 以降

        ドキュメントが存在するライフサイクル。

      • frameId

        数値

        0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(typemain_frame または sub_frame の場合)、frameId は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。

      • Chrome 106 以降

        リクエストが発生したフレームのタイプ。

      • 開始元

        string(省略可)

        Chrome 63 以降

        リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        string(省略可)

        Chrome 106 以降

        このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。

      • parentFrameId

        数値

        リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。

      • requestHeaders

        HttpHeaders 省略可

        このリクエストとともに送信された HTTP リクエスト ヘッダー。

      • requestId

        文字列

        リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。

      • tabId

        数値

        リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。

      • timeStamp

        数値

        このシグナルがトリガーされた時間(エポックからのミリ秒)。

      • タイプ

        リクエストされたリソースの使用方法。

      • URL

        文字列

  • フィルタ
  • extraInfoSpec