Spec-Zone.ru › Web APIs

Кэш: метод add()

Базовая Широкодоступная

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Защищённый контекст: Эта функция доступна только в защищённых контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод add() интерфейса Cache принимает URL, извлекает его и добавляет полученный объект ответа в заданный кэш.

Метод add() функционально эквивалентен следующему:

fetch(url).then((response) => {
  if (!response.ok) {
    throw new TypeError("bad response status");
  }
  return cache.put(url, response);
});

Для более сложных операций вам необходимо использовать Cache.put() напрямую.

Примечание: add() перезапишет любую пару ключ/значение, ранее хранившуюся в кэше и соответствующую запросу.

Синтаксис

add(request)

Параметры

request

Запрос на ресурс, который вы хотите добавить в кэш. Это может быть объект Request или URL.

Этот параметр используется как параметр для конструктора Request(), поэтому URL следуют тем же правилам, что и для этого конструктора. В частности, URL могут быть относительными по отношению к базовому URL, который является baseURI в контексте окна или WorkerGlobalScope.location в контексте рабочего потока.

Возвращаемое значение

Объект Promise, который разрешается с undefined.

Исключения

TypeError

Схема URL не является http или https.

Статус ответа не находится в диапазоне 200 (т. е. это не успешный ответ). Это происходит, если запрос не выполняется успешно, а также если запрос является запросом cross-origin no-cors (в этом случае отчётный статус всегда равен 0).

Примеры

Этот блок кода ожидает срабатывания события InstallEvent, затем вызывает waitUntil() для обработки процесса установки приложения. Это включает вызов CacheStorage.open для создания нового кэша, а затем использование Cache.add для добавления актива в него.

this.addEventListener("install", (event) => {
  event.waitUntil(caches.open("v1").then((cache) => cache.add("/index.html")));
});

Спецификации

Спецификация
Service Workers
# cache-add

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
add
44Требуется HTTPS с версии 46.
16 41
31Требуется HTTPS с версии 33.
11.1
44Требуется HTTPS с версии 46.
41
32Требуется HTTPS с версии 33.
11.3
4.0Требуется HTTPS с Samsung Internet 5.0.
44Требуется HTTPS с версии 46.

См. также

  • Использование Service Workers
  • 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/Cache/add

Spec-Zone.ru

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