Кэширование: метод matchAll()
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с апреля 2018 года.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или всех поддерживающих браузерах.
Примечание: Эта функция доступна в рабочих потоках.
Метод matchAll() интерфейса Cache возвращает Promise, который разрешается массивом всех соответствующих ответов в объекте Cache.
Синтаксис
matchAll() matchAll(request) matchAll(request, options)
Параметры
requestНеобязательно-
Запрос
Request, для которого вы пытаетесь найти ответы в кэшеCache. Это может быть объектRequestили URL. Если этот аргумент опущен, вы получите копию всех ответов в этом кэше. optionsНеобязательно-
Объект параметров, позволяющий установить определенные параметры управления для выполнения поиска соответствий. Доступные параметры:
ignoreSearch-
Логическое значение, определяющее, следует ли игнорировать строку запроса в URL при поиске соответствий. Если установлено значение
true, часть?value=barвhttp://foo.com/?value=barбудет проигнорирована при поиске соответствия. По умолчаниюfalse. ignoreMethod-
Логическое значение, которое, если установлено как
true, предотвращает проверку методаRequesthttp(обычно допускаются толькоGETиHEAD). По умолчаниюfalse. ignoreVary-
Логическое значение, которое при установке в значение
trueуказывает операции поиска не выполнять соответствия заголовковVARY. То есть, если URL соответствует, вы получите соответствие, независимо от того, содержит ли объектResponseзаголовокVARYили нет. По умолчаниюfalse.
Возвращаемое значение
A Promise that resolves to an array of all matching responses in the Cache object.
Примечание: Cache.match() в основном идентичен Cache.matchAll(), за исключением того, что вместо разрешения массивом всех соответствующих ответов, он разрешается первым соответствующим ответом (то есть, response[0]).
Примеры
В следующем примере извлекаются все ответы в кэше v1, соответствующие URL /, включая потенциальные параметры запроса. Используя { ignoreSearch: true }, с matchAll будет извлечен / наряду с /?value=bar.
Затем выводится количество соответствующих ответов.
caches.open("v1").then((cache) => {
cache.matchAll("/", { ignoreSearch: true }).then((responses) => {
console.log(`Found ${responses.length} matching responses`);
});
});
Спецификации
| Спецификация |
|---|
| Рабочие потоки # cache-matchall |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
matchAll |
47 | 16 | 41 | 34Требуется HTTPS. |
11.1 | 47 | 41 | 34 | 11.3 | 5.0 | 47 |
См. также
© 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/matchAll