説明
chrome.webRequest
API を使用して、トラフィックの監視と分析を行い、処理中のリクエストをインターセプト、ブロック、変更します。
権限
webRequest
ウェブ リクエスト API を使用するには、必要なホスト権限とともに、拡張機能のマニフェストで "webRequest"
権限を宣言する必要があります。サブリソースのリクエストをインターセプトするには、拡張機能がリクエストされた URL とそのイニシエータの両方にアクセスできる必要があります。次に例を示します。
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
webRequestBlocking
ブロッキング イベント ハンドラを登録するために必要です。Manifest V3 では、このポリシーを使用できるのは、ポリシーにインストールされている拡張機能のみです。
webRequestAuthProvider
onAuthRequired
メソッドを使用するために必要です。認証の処理をご覧ください。
コンセプトと使用方法
リクエストのライフサイクル
ウェブ リクエスト 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
- Connection(共感)
- 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_id
(other_extension_id
はリクエストを処理する拡張機能の ID ではありません)、https://www.google.com/chrome
、ブラウザ機能の中核となるその他の機密性の高いリクエストが含まれます。また、拡張機能からの同期 XMLHttpRequest は、デッドロックを防ぐためにイベント ハンドラをブロックしません。サポートされているスキームの一部では、対応するプロトコルの性質上、利用可能なイベントのセットが制限される場合があります。たとえば、file: スキームの場合、onBeforeRequest
、onResponseStarted
、onCompleted
、onErrorOccurred
のみをディスパッチできます。
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
)、リクエストのキャンセルまたはヘッダーの変更(onBeforeSendHeaders
、onHeadersReceived
)、リクエストのキャンセルまたは認証情報の提供(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 イベントに対するレスポンスとしてのみ使用されます。設定されている場合、指定された認証情報を使用してリクエストが行われます。
-
パスワード
string
-
ユーザー名
string
-
-
キャンセル
ブール値(省略可)
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
フォームデータ内で渡されたデータが含まれます。URL エンコードされた形式では、データが utf-8 文字列の場合は文字列として、それ以外の場合は ArrayBuffer として保存されます。form-data の場合は ArrayBuffer です。form-data がアップロード ファイルを表す場合、ファイル名が指定されている場合は、ファイル名付きの文字列になります。
列挙型
ArrayBuffer
string
HttpHeaders
HTTP ヘッダーの配列。各ヘッダーは、キー name
と、value
または binaryValue
のいずれかのキーを含む辞書として表されます。
タイプ
オブジェクト []
プロパティ
-
binaryValue
number[] 省略可
UTF-8 で表現できない場合の HTTP ヘッダーの値。個々のバイト値(0..255)として格納されます。
-
name
string
HTTP ヘッダーの名前。
-
value
string(省略可)
HTTP ヘッダーが UTF-8 で表すことができる場合の値。
IgnoredActionType
列挙型
"redirect"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。
"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。
"asyncblock"
コールバック関数を非同期に処理することを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnBeforeRedirectOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnBeforeRequestOptions
列挙型
"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。
"requestBody"
リクエスト本文をイベントに含める必要があることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnBeforeSendHeadersOptions
列挙型
"requestHeaders"
リクエスト ヘッダーをイベントに含める必要があることを指定します。
"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnCompletedOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnErrorOccurredOptions
値
"extraHeaders"
OnHeadersReceivedOptions
列挙型
"blocking"
コールバック関数が返されるまでリクエストがブロックされることを指定します。
"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnResponseStartedOptions
列挙型
"responseHeaders"
レスポンス ヘッダーをイベントに含めるよう指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
OnSendHeadersOptions
列挙型
"requestHeaders"
リクエスト ヘッダーをイベントに含める必要があることを指定します。
"extraHeaders"
ヘッダーがクロスオリジン リソース シェアリング(CORS)に違反することを指定します。
RequestFilter
webRequest イベントに適用するフィルタを記述するオブジェクト。
プロパティ
-
tabId
number(省略可)
-
タイプ
ResourceType[] 省略可
リクエスト タイプのリスト。どのタイプにも一致しないリクエストは除外されます。
-
urls
string[]
URL または URL パターンのリスト。どの URL とも一致しないリクエストは除外されます。
-
windowId
number(省略可)
ResourceType
列挙型
"main_frame"
リソースをメインフレームとして指定します。
"sub_frame"
リソースをサブフレームとして指定します。
"stylesheet"
リソースをスタイルシートとして指定します。
"script"
リソースをスクリプトとして指定します。
"image"
リソースを画像として指定します。
"font"
リソースをフォントとして指定します。
"object"
リソースをオブジェクトとして指定します。
"xmlhttprequest"
リソースを XMLHttpRequest として指定します。
"ping"
リソースを ping として指定します。
"csp_report"
リソースをコンテンツ セキュリティ ポリシー(CSP)レポートとして指定します。
"media"
リソースをメディア オブジェクトとして指定します。
"websocket"
リソースを WebSocket として指定します。
"webbundle"
リソースを WebBundle として指定します。
"other"
リストされているタイプに含まれないタイプとしてリソースを指定します。
UploadData
URL リクエストでアップロードされたデータが含まれます。
プロパティ
-
バイト
省略可
データのコピーを含む ArrayBuffer。
-
あなた宛てに表示されます。
string(省略可)
ファイルのパスと名前を含む文字列。
プロパティ
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
10 分間の持続間隔ごとに handlerBehaviorChanged
を呼び出せる最大回数。handlerBehaviorChanged
は高コストな関数呼び出しであり、頻繁には呼び出すべきではありません。
値
20
メソッド
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
キャッシュによる誤った処理を防ぐために、webRequest ハンドラの動作が変更されたときに呼び出す必要があります。この関数呼び出しにはコストがかかります。頻繁に呼びかけるのは避けましょう。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
戻り値
-
Promise<void>
Chrome 116 以降Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。
イベント
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
拡張機能がネットワーク リクエストに対して提案した変更が無視されると呼び出されます。これは、他の拡張機能と競合する場合に起こります。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
action
無視された提案されたアクション。
-
requestId
string
リクエストの 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
-
詳細
オブジェクト
-
チャレンジャー
オブジェクト
認証をリクエストしているサーバー。
-
主催者
string
-
ポート
数値
-
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
isProxy
boolean
プロキシ認証の場合は true、WWW 認証の場合は false です。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
レルム
string(省略可)
サーバーによって提供される認証領域(存在する場合)。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
responseHeaders
HttpHeaders 省略可
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
scheme
string
認証スキーム(基本やダイジェストなど)。
-
statusCode
数値
Chrome 43 以降サーバーから返される標準の HTTP ステータス コード。
-
statusLine
string
レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
asyncCallback
関数(省略可)
Chrome 58 以降asyncCallback
パラメータは次のようになります。(response: BlockingResponse) => void
-
レスポンス
-
-
戻り値
BlockingResponse | 未定義
「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
OnAuthRequiredOptions[] 省略可
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
サーバー開始型のリダイレクトが発生するときに呼び出されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
boolean
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
ip
string(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
redirectUrl
string
新しい URL。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
responseHeaders
HttpHeaders 省略可
このリダイレクトとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
サーバーから返される標準の HTTP ステータス コード。
-
statusLine
string
レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
-
フィルタ
-
extraInfoSpec
OnBeforeRedirectOptions[] 省略可
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
リクエストが発生する直前に呼び出されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => BlockingResponse | undefined
-
詳細
オブジェクト
-
documentId
string(省略可)
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
method
string
標準の 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
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
戻り値
BlockingResponse | 未定義
「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
OnBeforeRequestOptions[] 省略可
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
リクエスト ヘッダーが使用可能になると、HTTP リクエストの送信前に呼び出されます。これは、サーバーに TCP 接続した後、HTTP データが送信される前に発生することがあります。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => BlockingResponse | undefined
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestHeaders
HttpHeaders 省略可
このリクエストとともに送信される HTTP リクエスト ヘッダー。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
戻り値
BlockingResponse | 未定義
「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
リクエストが完了すると呼び出されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
boolean
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
ip
string(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
responseHeaders
HttpHeaders 省略可
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
サーバーから返される標準の HTTP ステータス コード。
-
statusLine
string
レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
-
フィルタ
-
extraInfoSpec
OnCompletedOptions[] 省略可
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
エラーが発生したときに呼び出されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。リクエストがフレームのナビゲーションである場合、この値は存在しません。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
error
string
エラーの説明。この文字列は、リリース間での下位互換性は保証されません。解析し、その内容に基づいて措置を講じることは禁止されています。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
boolean
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
ip
string(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
-
フィルタ
-
extraInfoSpec
OnErrorOccurredOptions[] 省略可
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
リクエストの HTTP レスポンス ヘッダーが受信されたときに呼び出されます。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => BlockingResponse | undefined
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
responseHeaders
HttpHeaders 省略可
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
Chrome 43 以降サーバーから返される標準の HTTP ステータス コード。
-
statusLine
string
レスポンスの HTTP ステータス行、または HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
戻り値
BlockingResponse | 未定義
「extraInfoSpec」パラメータで「blocking」が指定されている場合、イベント リスナーはこのタイプのオブジェクトを返す必要があります。
-
-
フィルタ
-
extraInfoSpec
OnHeadersReceivedOptions[] 省略可
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
レスポンス本文の最初のバイトを受信したときに呼び出されます。HTTP リクエストの場合、ステータス行とレスポンス ヘッダーを使用できることを意味します。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
fromCache
boolean
このレスポンスがディスク キャッシュから取得されたかどうかを示します。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
ip
string(省略可)
リクエストが実際に送信されたサーバーの IP アドレス。リテラル IPv6 アドレスの場合もあります。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
responseHeaders
HttpHeaders 省略可
このレスポンスとともに受信した HTTP レスポンス ヘッダー。
-
statusCode
数値
サーバーから返される標準の HTTP ステータス コード。
-
statusLine
string
レスポンスの HTTP ステータス行。HTTP/0.9 レスポンス(ステータス行がないレスポンス)の場合は「HTTP/0.9 200 OK」文字列。ヘッダーがない場合は空の文字列。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
-
フィルタ
-
extraInfoSpec
OnResponseStartedOptions[] 省略可
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
リクエストがサーバーに送信される直前に呼び出されます(以前の onBeforeSendHeaders コールバックの変更は、onSendHeaders が呼び出されるまでに変更されています)。
パラメータ
-
callback
機能
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
documentId
string
Chrome 106 以降リクエストを行っているドキュメントの UUID。
-
documentLifecycleChrome 106 以降
ドキュメントが存在するライフサイクル。
-
frameId
数値
0 はリクエストがメインフレームで発生したことを示し、正の値はリクエストが発生したサブフレームの ID を示します。(サブ)フレームのドキュメントが読み込まれている場合(
type
がmain_frame
またはsub_frame
の場合)、frameId
は、外フレームの ID ではなく、このフレームの ID を示します。フレーム ID はタブ内で一意です。 -
frameTypeChrome 106 以降
リクエストが発生したフレームのタイプ。
-
開始元
string(省略可)
Chrome 63 以降リクエストが開始されたオリジン。これはリダイレクトによって変わりません。これが不透明なオリジンの場合は、文字列「null」が使用されます。
-
method
string
標準の HTTP メソッド。
-
parentDocumentId
string(省略可)
Chrome 106 以降このフレームを所有する親ドキュメントの UUID。親がない場合、この値は設定されません。
-
parentFrameId
数値
リクエストを送信したフレームをラップするフレームの ID。親フレームが存在しない場合は -1 に設定します。
-
requestHeaders
HttpHeaders 省略可
このリクエストとともに送信された HTTP リクエスト ヘッダー。
-
requestId
string
リクエストの ID。リクエスト ID はブラウザ セッション内で一意です。その結果、同じリクエストの異なるイベントを関連付けるために使用できます。
-
tabId
数値
リクエストが行われるタブの ID。リクエストがタブに関連していない場合は -1 に設定します。
-
timeStamp
数値
このシグナルがトリガーされた時間(エポックからのミリ秒)。
-
type
リクエストされたリソースの使用方法。
-
url
string
-
-
-
フィルタ
-
extraInfoSpec
OnSendHeadersOptions[] 省略可