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 2018年4月.
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
delete() は CacheStorage インターフェイスのメソッドで、cacheName に一致する Cache オブジェクトを見つけ、見つかった場合は Cache オブジェクトを削除し、 true に解決される Promise を返します。
Cache オブジェクトが見つからない場合は、false に解決されます。
CacheStorage には、ウィンドウの Window.caches プロパティまたはワーカーの WorkerGlobalScope.caches を介してアクセスできます。
構文
delete(cacheName)
引数
cacheName-
削除するキャッシュの名前。
返値
Promise で、 Cache オブジェクトが見つかって削除された場合は true、そうでない場合は false に解決されます。
例
このコードスニペットでは、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> |
ブラウザーの互換性
Loading…