delete
()
方法在
CacheStorage
interface finds the
缓存
object matching the
cacheName
, and if found, deletes the
缓存
object and returns a
Promise
that resolves to
true
. If no
缓存
object is found, it resolves to
false
.
You can access
CacheStorage
through the global
caches
特性。
caches.delete(cacheName).then(function(boolean) {
// your cache is now deleted
});
cacheName
The name of the cache you want to delete.
a
Promise
that resolves to
true
若
缓存
object is found and deleted, and
false
否则。
In this code snippet we wait for an activate event, and then run a
waitUntil()
block that clears up any old, unused caches before a new service worker is activated. Here we have an array of cache names we want to keep (
cachesToKeep
). We return the keys of the caches in the
CacheStorage
对象使用
CacheStorage.keys
, then check each key to see if it is in the array. If not, we delete it using
delete()
.
this.addEventListener('activate', function(event) {
var cachesToKeep = ['v2'];
event.waitUntil(
caches.keys().then(function(keyList) {
return Promise.all(keyList.map(function(key) {
if (cachesToKeep.indexOf(key) === -1) {
return caches.delete(key);
}
}));
})
);
});
| 规范 | 状态 | 注释 |
|---|---|---|
|
服务工作者
The definition of 'CacheStorage: delete' in that specification. |
工作草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
delete
|
Chrome 40 | Edge 16 |
Firefox
44
|
IE No | Opera 27 | Safari 11.1 | WebView Android 40 | Chrome Android 40 | Firefox Android 44 | Opera Android 27 | Safari iOS Yes | Samsung Internet Android 4.0 |
完整支持
不支持
实验。期望将来行为有所改变。
见实现注意事项。
CacheStorage
缓存
Client
Clients
ExtendableEvent
FetchEvent
InstallEvent
Navigator.serviceWorker
NotificationEvent
PeriodicSyncEvent
PeriodicSyncManager
PeriodicSyncRegistration
ServiceWorker
ServiceWorkerContainer
ServiceWorkerGlobalScope
ServiceWorkerRegistration
SyncEvent
SyncManager
SyncRegistration
WindowClient