chrome.webRequest

説明

chrome.webRequest API を使用して、トラフィックをモニタリングおよび分析し、処理中のリクエストをインターセプト、ブロック、変更します。

権限

webRequest

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

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

webRequestBlocking

ブロッキング イベント ハンドラを登録するために必要です。Manifest V3 では ポリシーで検出された拡張機能に適用されます。

webRequestAuthProvider

onAuthRequired メソッドを使用するために必要です。詳しくは、 認証の処理

コンセプトと使用方法

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

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

以下に、成功したリクエストのイベント ライフサイクルと、イベント定義を示します。

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

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

ウェブ リクエスト API は、リクエストごとに onCompleted または onErrorOccurred のいずれかが、 最後のイベントとして呼び出されますが、1 つの例外があります。リクエストが data:// URL にリダイレクトされた場合、 最後に報告されたイベントは onBeforeRedirect です。

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

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

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

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

Chrome 79 以降、webRequest API は CORS プリフライト リクエストをインターセプトしません。 設定することもできます。リクエスト URL の CORS プリフライトは、 リクエスト URL に対して、opt_extraInfoSpec で指定された 'extraHeaders' を持つリスナー。 onBeforeRequest は Chrome 79 から 'extraHeaders' を取得することもできます。

Chrome 79 以降では、以下のリクエスト ヘッダーは提供されず、変更したり、変更したりすることはできません。 opt_extraInfoSpec'extraHeaders' を指定せずに削除:

  • 出発地
で確認できます。

クロスオリジン読み取りブロックの前にレスポンスを変更する必要がある場合(Chrome 72 以降) (CORB)がレスポンスをブロックする可能性があるため、opt_extraInfoSpec'extraHeaders' を指定する必要があります。

Chrome 72 以降、以下のリクエスト ヘッダーは提供されず、変更できません。 または、opt_extraInfoSpec'extraHeaders' を指定せずに削除:

  • 言語を受け入れる
  • Accept-Encoding
  • リファラー
  • Cookie

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

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

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

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

  • 確立された WebSocket 接続を介して送信される個々のメッセージ。
  • WebSocket の接続の終了。

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

Chrome 72 以降、拡張機能がリクエストをインターセプトできるのは、ホストがある場合に限ります。 リクエストを送信した URL とリクエスト イニシエータの両方に付与する必要があります。

Chrome 96 以降、webRequest API で HTTP/3 を介した WebTransport のインターセプトがサポートされます リクエストできます。handshake は HTTP CONNECT リクエストによって行われるため、そのフローはこれに適合します。 HTTP 指向の webRequest モデルに変換できます。次のことに注意してください。

  • セッションが確立されると、拡張機能は webRequest API をご覧ください。
  • onBeforeSendHeaders での HTTP リクエスト ヘッダーの変更は無視されます。
  • HTTP/3 経由の WebTransport では、リダイレクトと認証はサポートされていません

リクエスト ID

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

イベント リスナーの登録

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

ウェブ リクエスト 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
URL パターン*://www.google.com/foo*bar など)。
リクエスト タイプには、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 の現在の実装では、 リクエストをキャンセルするよう指示する拡張機能があります。拡張機能がリクエストをキャンセルすると、 拡張機能は onErrorOccurred イベントによって通知されます。リダイレクトできる拡張機能は 1 つのみです。 一度に 1 つずつ、ヘッダーのリクエストや変更ができます。複数の拡張機能がリクエストを変更しようとした場合、 最近インストールされた拡張機能が優先され、その他はすべて無視されます。次の場合、拡張機能には通知されません。 変更またはリダイレクトの命令が無視されました。

キャッシュ

Chrome は、ディスク上のキャッシュと非常に高速なメモリ内キャッシュの 2 つのキャッシュを採用しています。Kubernetes の メモリ内キャッシュは、レンダリング プロセスの存続期間に付加されます。これはほぼ 1 つのタブに相当します。 メモリ内キャッシュから応答されたリクエストは、ウェブ リクエスト 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 イベントへのレスポンスとしてのみ使用されます。設定すると、指定された認証情報を使用してリクエストが実行されます。

    • パスワード

      文字列

    • ユーザー名

      文字列

  • キャンセル

    ブール値(省略可)

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

  • redirectUrl

    文字列(省略可)

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

  • requestHeaders

    HttpHeadersオプション

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

  • responseHeaders

    HttpHeadersオプション

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

FormDataItem

Chrome 66 以降

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

列挙型

ArrayBuffer

文字列

HttpHeaders

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

タイプ

object[]

プロパティ

  • binaryValue

    数値 [] 省略可

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

  • name

    文字列

    HTTP ヘッダーの名前。

  • 文字列(省略可)

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

IgnoredActionType

Chrome 70 以降

列挙型

「redirect」

"request_headers"

&quot;response_headers&quot;

&quot;auth_credentials&quot;

OnAuthRequiredOptions

Chrome 44 以降

列挙型

&quot;responseHeaders&quot;
レスポンス ヘッダーをイベントに含めることを指定します。

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

&quot;asyncBlocking&quot;
コールバック関数が非同期で処理されることを指定します。

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

OnBeforeRedirectOptions

Chrome 44 以降

列挙型

&quot;responseHeaders&quot;
レスポンス ヘッダーをイベントに含めることを指定します。

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

OnBeforeRequestOptions

Chrome 44 以降

列挙型

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

&quot;requestBody&quot;
リクエスト本文をイベントに含めることを指定します。

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

OnBeforeSendHeadersOptions

Chrome 44 以降

列挙型

&quot;requestHeaders&quot;
リクエスト ヘッダーをイベントに含めることを指定します。

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

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

OnCompletedOptions

Chrome 44 以降

列挙型

&quot;responseHeaders&quot;
レスポンス ヘッダーをイベントに含めることを指定します。

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

OnErrorOccurredOptions

Chrome 79 以降

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 以降

列挙型

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

&quot;responseHeaders&quot;
レスポンス ヘッダーをイベントに含めることを指定します。

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

OnResponseStartedOptions

Chrome 44 以降

列挙型

&quot;responseHeaders&quot;
レスポンス ヘッダーをイベントに含めることを指定します。

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

OnSendHeadersOptions

Chrome 44 以降

列挙型

&quot;requestHeaders&quot;
リクエスト ヘッダーをイベントに含めることを指定します。

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

RequestFilter

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

プロパティ

  • tabId

    数値(省略可)

  • タイプ

    ResourceType[] 省略可

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

  • URL

    string[]

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

  • windowId

    数値(省略可)

ResourceType

Chrome 44 以降

列挙型

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

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

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

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

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

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

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

&quot;xmlhttprequest&quot;
リソースを XMLHttpRequest として指定します。

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

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

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

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

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

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

UploadData

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

プロパティ

  • バイト

    任意

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

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

    文字列(省略可)

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

プロパティ

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

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

20

メソッド

handlerBehaviorChanged()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)

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

パラメータ

  • callback

    関数(省略可)

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

    () => void

戻り値

  • 約束 <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 以降

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • isProxy

        ブール値

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • レルム

        文字列(省略可)

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

      • requestId

        文字列

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

      • responseHeaders

        HttpHeadersオプション

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

      • スキーム

        文字列

        認証スキーム。例:Basic または Digest。

      • statusCode

        数値

        Chrome 43 以降

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

      • statusLine

        文字列

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

      • tabId

        数値

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

      • timeStamp

        数値

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

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

      • URL

        文字列

    • asyncCallback

      関数(省略可)

      Chrome 58 以降

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

      (response: BlockingResponse) => void

    • 戻り値

      BlockingResponse |未定義

      「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。

  • フィルタ
  • 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

        ブール値

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • ip

        文字列(省略可)

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • redirectUrl

        文字列

        新しい URL。

      • requestId

        文字列

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

      • responseHeaders

        HttpHeadersオプション

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

      • statusCode

        数値

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

      • statusLine

        文字列

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

      • tabId

        数値

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

      • timeStamp

        数値

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

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

      • URL

        文字列

  • フィルタ
  • extraInfoSpec

onBeforeRequest

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

リクエストの発生時に呼び出されます。

パラメータ

  • callback

    関数

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

    (details: object) => BlockingResponse | undefined

    • 詳細

      オブジェクト

      • documentId

        文字列(省略可)

        Chrome 106 以降

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

      • documentLifecycle
        Chrome 106 以降

        ドキュメントのライフサイクル。

      • frameId

        数値

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

      • frameType
        Chrome 106 以降

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • requestBody

        オブジェクト(省略可)

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

        • エラー

          文字列(省略可)

          リクエスト本文データの取得時のエラー。

        • formData

          オブジェクト(省略可)

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

        • raw

          UploadData[](省略可)

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

      • requestId

        文字列

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

      • tabId

        数値

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

      • timeStamp

        数値

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

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

      • URL

        文字列

    • 戻り値

      BlockingResponse |未定義

      「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。

  • フィルタ
  • 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 以降

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • requestHeaders

        HttpHeadersオプション

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

      • requestId

        文字列

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

      • tabId

        数値

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

      • timeStamp

        数値

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

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

      • URL

        文字列

    • 戻り値

      BlockingResponse |未定義

      「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。

  • フィルタ
  • 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

        ブール値

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • ip

        文字列(省略可)

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • requestId

        文字列

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

      • responseHeaders

        HttpHeadersオプション

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

      • statusCode

        数値

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

      • statusLine

        文字列

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

      • 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 以降

        ドキュメントのライフサイクル。

      • エラー

        文字列

        エラーの説明。この文字列は、リリース間での下位互換性が維持される保証はありません。データを解析し、その内容に基づいて対応することはできません。

      • frameId

        数値

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

      • Chrome 106 以降

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

      • fromCache

        ブール値

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • ip

        文字列(省略可)

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        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 以降

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • requestId

        文字列

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

      • responseHeaders

        HttpHeadersオプション

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

      • statusCode

        数値

        Chrome 43 以降

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

      • statusLine

        文字列

        レスポンスの HTTP ステータス行または「HTTP/0.9 200 OK」HTTP/0.9 レスポンス(ステータス行のないレスポンス)用の文字列です。

      • tabId

        数値

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

      • timeStamp

        数値

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

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

      • URL

        文字列

    • 戻り値

      BlockingResponse |未定義

      「ブロック中」の場合「extraInfoSpec」で指定パラメータを使用すると、イベント リスナーはこの型のオブジェクトを返す必要があります。

  • フィルタ
  • 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

        ブール値

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • ip

        文字列(省略可)

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • requestId

        文字列

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

      • responseHeaders

        HttpHeadersオプション

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

      • statusCode

        数値

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

      • statusLine

        文字列

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

      • 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 以降

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

      • イニシエータ

        文字列(省略可)

        Chrome 63 以降

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

      • method

        文字列

        標準の HTTP メソッド。

      • parentDocumentId

        文字列(省略可)

        Chrome 106 以降

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

      • parentFrameId

        数値

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

      • requestHeaders

        HttpHeadersオプション

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

      • requestId

        文字列

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

      • tabId

        数値

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

      • timeStamp

        数値

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

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

      • URL

        文字列

  • フィルタ
  • extraInfoSpec