onBeforeRequest.addEventListener
の第二のパラメータはオプションrequestFilterオブジェクトです。
これは各要素はURLまたはURLパターンである4つの追加のプロパティ
- のURL(文字列の任意の配列)
- を有しています。 URLパターン定義のコンテンツスクリプトの一致パターンを参照してください。 URLに一致しないリクエストは除外されます。
- タイプ(文字列の任意の配列)
- 各要素は、上記要求タイプです。いずれのタイプにも一致しないリクエストは除外されます。
- tabId(オプションの整数)の要求が行われるタブの
- WINDOWID(任意の整数)の要求が行われるウィンドウの
のでurls: ["*://www.example.com/*.js"]}
はonBeforeRequestリスナーにURLフィルタを追加しています。
これは、www.example.comドメイン上のjavascriptファイルのリクエストに一致するように試みます。 HTTPまたはHTTPS
使用[(スキーム)*]:\\ [(ホスト)www.example.com]/[(パス)*の.js]
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
https://developer.chrome.com/extensions/match_patterns
第3のパラメータ['blocking']
は、追加情報として使用される文字列のオプションの配列です。これにより、Chromeがコールバックを返す方法が変更されます。
"ブロッキング"が含まれているため、コールバック関数は同期的に処理されます。つまり、コールバック関数が返るまで要求はブロックされます。したがって、onBeforeRequestの場合は、リクエストをキャンセルするか、リクエストが発生する前にリダイレクトすることができます。ここで利用可能
さらに詳しい情報:
https://www.chromium.org/developers/design-documents/extensions/proposed-changes/apis-under-development/notifications-of-web-request-and-navigation