Кэш: метод 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. |
См. также
© 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