Cache: keys() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

keys()Cache インターフェイスのメソッドで、Cache のキーを表す Request の配列に解決される Promise を返します。

リクエストは、挿入されたのと同じ順序で返されます。

メモ: レスポンスに VARY ヘッダーが設定されている場合、URL が重複しているがヘッダーが異なるリクエストを返すことができます。

構文

js
keys()
keys(request)
keys(request, options)

引数

request 省略可

特定のキーが必要な場合、返してほしい Request。 これは、Request オブジェクトまたは URL です。

options 省略可

プロパティが keys 操作でどのように照合するかを制御するオブジェクト。 使用可能なオプションは次のとおりです。

ignoreSearch

論理値で、照合操作で URL のクエリー文字列を無視するかどうかを指定します。 true に設定すると、http://foo.com/?value=bar?value=bar 部分を、照合の実行時に無視します。既定値は false です。

ignoreMethod

論理値で、true に設定すると、照合操作が RequestHTTP メソッドを検証しないようにするします(通常、GET および HEAD のみが許可されます)。既定値は false です。

ignoreVary

論理値で、true に設定すると、VARY ヘッダーを照合しないように照合操作に指示します。 つまり、URL が一致した場合は、Response オブジェクトに VARY ヘッダーがあるかどうかに関係なく一致します。既定値は false です。

cacheName

文字列で、検索対象の特定のキャッシュを表します。 このオプションは Cache.keys() によって無視されることに注意してください。

返値

Cache キーの配列に解決される Promise です。

js
caches.open("v1").then((cache) => {
  cache.keys().then((keys) => {
    keys.forEach((request, index, array) => {
      cache.delete(request);
    });
  });
});

仕様書

Specification
Service Workers
# cache-keys

ブラウザーの互換性

BCD tables only load in the browser

関連情報