Cache.matchAll()

Cache インターフェイスの matchAll() メソッドは、Cache オブジェクト内の一致するすべてのレスポンスの配列に解決される Promise を返します。

構文

cache.matchAll(request, {options}).then(function(response) {
  // レスポンスの配列で何かをする
});

パラメーター

request Optional
Cache 内でレスポンスを見つけようとしている Request。 これは、Request オブジェクトまたは URL です。 この引数を省略すると、このキャッシュ内のすべてのレスポンスのコピーが取得されます。
options Optional
実行する照合の特定の制御オプションを設定できるオプションオブジェクト。 使用可能なオプションは次のとおりです。
  • ignoreSearch: 照合操作で URL のクエリ文字列を無視するかどうかを指定する Booleantrue に設定すると、http://foo.com/?value=bar?value=bar 部分を、照合の実行時に無視します。 デフォルトは false です。
  • ignoreMethod: true に設定すると、照合操作が Request HTTP メソッドを検証しないようにする Boolean(通常、GET および HEAD のみが許可されます)。 デフォルトは false です。
  • ignoreVary: true に設定すると、VARY ヘッダーの照合を実行しないように照合操作に指示する Boolean。 つまり、URL が一致する場合、Response オブジェクトに VARY ヘッダーがあるかどうかに関係なく一致します。 デフォルトは false です。

戻り値

Cache オブジェクト内のすべての一致するレスポンスの配列に解決される Promise

: Cache.match() は、一致するすべてのレスポンスの配列で解決するのではなく、最初に一致するレスポンスのみ(つまり、response[0])で解決することを除いて、基本的に Cache.matchAll() と同じです。

caches.open('v1').then(function(cache) {
  cache.matchAll('/images/').then(function(response) {
    response.forEach(function(element, index, array) {
      cache.delete(element);
    });
  });
})

仕様

仕様 状態 コメント
Service Workers
Cache: matchAll の定義
草案 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
matchAll
実験的
Chrome 完全対応 47Edge 完全対応 16Firefox 完全対応 39
補足
完全対応 39
補足
補足 Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE 未対応 なしOpera 完全対応 34
補足
完全対応 34
補足
補足 Requires HTTPS.
Safari 完全対応 11WebView Android 完全対応 47Chrome Android 完全対応 47Firefox Android 完全対応 39Opera Android 完全対応 34Safari iOS 完全対応 11Samsung Internet Android 完全対応 5.0

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。

関連情報