BackgroundFetchRegistration.match()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
BackgroundFetchRegistration
インターフェイスの match()
メソッドは、最初にマッチした BackgroundFetchRecord
を返します。
構文
match(request)
match(request, options)
引数
request
options
省略可-
match
操作のオプションを指定するオブジェクトです。以下が利用可能です。ignoreSearch
-
URL 中のクエリー文字列を無視するかどうか指定するbool 値です。例えば
true
のとき、http://foo.com/?value=bar
の?value=bar
部分はマッチ処理で無視されます。デフォルトはfalse
です。 ignoreMethod
-
bool 値です。
true
のとき、マッチ処理はRequest
のhttp
メソッドを検証しません。false
(デフォルト値)の場合、GET
とHEAD
のみ許可されます。 ignoreVary
-
bool 値です。
true
はVARY
ヘッダーを無視することを意味します。デフォルトはfalse
です。
返値
最初に request にマッチした BackgroundFetchRecord
か、または何もマッチしなかった場合には undefined
で解決される Promise
を返します。
メモ: BackgroundFetchRegistration.match()
は、基本的には BackgroundFetchRegistration.matchAll()
と同じですが、マッチする全ての record を配列で返すのではなく、最初にマッチした record のみで解決するという違いがあります。
例外
InvalidStateError
DOMException
-
進行中の fetch がないときに
match()
を呼び出すと発生します。 この状態は、BackgroundFetchRegistration.recordsAvailable
がfalse
に設定されることで反映されます。
例
以下の例では URL に "/ep-5.mp3" を含む record を検索しており、BackgroundFetchRecord
が見つかると、関連する情報を取得することができます。
bgFetch.match("/ep-5.mp3").then(async (record) => {
if (!record) {
console.log("レコードは見つかりませんでした。");
return;
}
console.log(`リクエスト: `, record.request);
const response = await record.responseReady;
console.log(`応答: `, response);
});
仕様書
Specification |
---|
Background Fetch # background-fetch-registration-match |
ブラウザーの互換性
BCD tables only load in the browser