keys
()
方法在
CacheStorage
interface returns a
Promise
that will resolve with an array containing strings corresponding to all of the named
缓存
objects tracked by the
CacheStorage
object in the order they were created. Use this method to iterate over a list of all
缓存
对象。
You can access
CacheStorage
through the global
caches
特性。
caches.keys().then(function(keyList) {
//do something with your keyList
});
None.
a
Promise
that resolves with an array of the
缓存
names inside the
CacheStorage
对象。
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 a whitelist containing the names of the caches we want to keep (
cacheWhitelist
). We return the keys of the caches in the
CacheStorage
对象使用
keys()
, then check each key to see if it is in the whitelist. If not, we delete it using
CacheStorage.delete()
.
then.addEventListener('activate', function(event) {
var cacheWhitelist = ['v2'];
event.waitUntil(
caches.keys().then(function(keyList) {
return Promise.all(keyList.map(function(key) {
if (cacheWhitelist.indexOf(key) === -1) {
return caches.delete(key);
}
});
})
);
});
| 规范 | 状态 | 注释 |
|---|---|---|
|
服务工作者
The definition of 'CacheStorage: keys' in that specification. |
工作草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
keys
|
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