CacheStorage: метод keys()
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с апреля 2018 года.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Метод keys() интерфейса CacheStorage возвращает Promise, который будет разрешен массивом строк, соответствующих всем именованным объектам Cache, отслеживаемым объектом CacheStorage в порядке их создания. Используйте этот метод для итерации по списку всех объектов Cache.
Доступ к CacheStorage можно получить через свойство Window.caches в окнах или через свойство WorkerGlobalScope.caches в рабочих процессах.
Синтаксис
keys()
Параметры
Нет.
Возвращаемое значение
Promise, который разрешается массивом имен объектов Cache внутри объекта CacheStorage.
Примеры
В этом фрагменте кода мы ждем события activate и затем выполняем блок waitUntil(), который очищает устаревшие, неиспользуемые кэши перед активацией нового сервисного рабочего. Здесь у нас есть список разрешенных имен кэшей, которые мы хотим сохранить (cacheAllowlist). Мы возвращаем ключи кэшей в объекте CacheStorage с помощью keys(), затем проверяем каждый ключ, чтобы убедиться, что он есть в списке разрешенных. Если нет, мы удаляем его с помощью CacheStorage.delete().
this.addEventListener("activate", (event) => {
const cacheAllowlist = ["v2"];
event.waitUntil(
caches.keys().then((keyList) =>
Promise.all(
keyList.map((key) => {
if (!cacheAllowlist.includes(key)) {
return caches.delete(key);
}
}),
),
),
);
});
Спецификации
| Спецификация |
|---|
| Сервисные рабочие # cache-storage-keys |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
keys |
40 | 16 | 41 | 27 | 11.1 | 40 | 41 | 27 | 11.3 | 4.0 | 40 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage/keys