Эта статья нуждается в редакционном обзоре. Как вы можете помочь.
Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.
Метод keys()
интерфейса Cache
возвращает Promise
, который разрешается в массив ключей Cache
.
Запросы возвращаются в том же порядке, в котором были добавлены.
Замечание: Запросы с дублирующимися URL, но с разными заголовками, могут быть возвращены, если в ответах на них установлен заголовок VARY
.
Синтаксис
cache.keys(request,{options}).then(function(keys) { // сделать что-нибудь с вашим массивом запросов });
Возвращаемое значение
Promise
, который разрешается в массив ключей Cache
.
Параметры
- request Необязательный
Request
который будет возвращен, если найден указанный ключ.- options Необязательный
- Объект, чьи свойства контролируют то, как выполняется сопоставление ключей для операции
keys
. Допустимые параметры:ignoreSearch
: Булево значениеBoolean
, которое определяет должен ли процесс сопоставления игнорировать строку запроса в url. Если установлено вtrue
, часть?value=bar
запросаhttps://foo.com/?value=bar
будет проигнорирована при сопоставлении. По умолчанию установлено вfalse
.ignoreMethod
: Булево значениеBoolean
, которое, когда равноtrue
, предотвращает проверкуRequest
, при сопоставлении ключей, наHTTP
метод (обычно допускаются толькоGET
иHEAD
). По умолчанию установлено вfalse
.ignoreVary
: Булево значениеBoolean
, которое, когда равноtrue,
указывает операции сопоставления ключей не проводить проверку заголовкаVARY
. Другими словами, если URL совпадает, вы получите соответствие, независимо от того, есть ли заголовокVARY
на объекте запросаResponse
. По умолчанию установлено вfalse
.cacheName
: СтрокаDOMString
, которая представляет собой определенный кеш, в котором нужно вести поиск. Заметьте, что этот параметр игнорируется методомCache.keys()
.
Примеры
caches.open('v1').then(function(cache) { cache.keys().then(function(keys) { keys.forEach(function(request, index, array) { cache.delete(request); }); }); })
Спецификации
Спецификация | Статус | Комментарий |
---|---|---|
Service Workers Определение 'Cache' в этой спецификации. |
Рабочий черновик | Initial definition. |
Совместимость с браузерами
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Базовая поддержка | 40.0[1] | 39 (39)[2] | Нет | 24 | Нет |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Базовая поддержка | Нет | Нет | 39.0 (39) | ? | Нет | ? | Нет | 40.0[1] |
[1] Параметр options поддерживает только значения ignoreSearch и
cacheName
.
[2] Сервис воркеры (и Push) бы ли отключены в Firefox 45 Extended Support Release (ESR.)