CacheStorage:delete() 方法
注意:此功能在 Web Workers 中可用。
CacheStorage 介面的 delete() 方法會查詢與 cacheName 匹配的 Cache 物件,如果找到,則會刪除該 Cache 物件並返回一個解析為 true 的 Promise。如果未找到 Cache 物件,則解析為 false。
您可以透過視窗中的 Window.caches 屬性或在 worker 中的 WorkerGlobalScope.caches 屬性來訪問 CacheStorage。
語法
js
delete(cacheName)
引數
cacheName-
要刪除的快取的名稱。
返回值
示例
在此程式碼片段中,我們等待一個 activate 事件,然後執行一個 waitUntil() 塊,在新的 service worker 啟用之前清理任何舊的、未使用的快取。在這裡,我們有一個想要保留的快取名稱陣列 (cachesToKeep)。我們使用 CacheStorage.keys 返回 CacheStorage 物件中的快取鍵,然後檢查每個鍵是否在陣列中。如果不在,我們使用 delete() 刪除它。
js
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);
}
return undefined;
}),
),
),
);
});
規範
| 規範 |
|---|
| Service Workers # cache-storage-delete |
瀏覽器相容性
載入中…