CacheStorage: delete() メソッド
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.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
delete()
は CacheStorage
インターフェイスのメソッドで、cacheName
に一致する Cache
オブジェクトを見つけ、見つかった場合は Cache
オブジェクトを削除し、 true
に解決される Promise
を返します。
Cache
オブジェクトが見つからない場合は、false
に解決されます。
CacheStorage
には、ウィンドウの Window.caches
プロパティまたはワーカーの WorkerGlobalScope.caches
を介してアクセスできます。
構文
delete(cacheName)
引数
cacheName
-
削除するキャッシュの名前。
返値
例
このコードスニペットでは、activate
イベントを待機してから、新しいサービスワーカーがアクティブになる前に、古い未使用のキャッシュをクリアする waitUntil()
ブロックを実行します。 ここに、保持したいキャッシュ名の配列 (cachesToKeep
) があります。 CacheStorage
オブジェクトのキャッシュのキーを CacheStorage.keys
を使用して返し、各キーをチェックしてその配列内にあるかどうかを確認します。 ない場合は、 delete()
を使用して削除します。
this.addEventListener("activate", (event) => {
const cachesToKeep = ["v2"];
event.waitUntil(
caches.keys().then((keyList) =>
Promise.all(
keyList.map((key) => {
if (!cachesToKeep.includes(key)) {
return caches.delete(key);
}
}),
),
),
);
});
仕様書
Specification |
---|
Service Workers # cache-storage-delete |
ブラウザーの互換性
BCD tables only load in the browser