Spec-Zone.ru › Web APIs

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

См. также

  • Использование сервисных рабочих
  • Cache
  • Window.caches и WorkerGlobalScope.caches

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API