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)
引数
requestoptions省略可-
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 のみで解決するという違いがあります。
例外
InvalidStateErrorDOMException-
進行中の 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> |
ブラウザーの互換性
Loading…