NavigationPreloadManager: метод setHeaderValue()
Базовая версия Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с апреля 2018 года.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в рабочих потоках.
Метод setHeaderValue() интерфейса NavigationPreloadManager устанавливает значение заголовка Service-Worker-Navigation-Preload, который будет отправлен с запросами, полученными в результате операции fetch(), выполненной во время предварительной загрузки навигации рабочим потоком. Он возвращает пустой Promise, который разрешается значением undefined.
Наличие заголовка Service-Worker-Navigation-Preload в запросах предварительной загрузки позволяет серверам настраивать возвращаемый ресурс по-разному для запросов предварительной загрузки и обычных запросов fetch. Значение по умолчанию — true; этот метод позволяет настроить несколько разных ответов на запросы предварительной загрузки.
Примечание: Если установка этого заголовка может привести к возврату другого ответа, сервер должен установить Vary: Service-Worker-Navigation-Preload для обеспечения кеширования разных ответов.
Синтаксис
setHeaderValue(value)
Параметры
value-
Произвольное строковое значение, которое сервер использует для определения возвращаемого ресурса.
Возвращаемое значение
Исключения
-
InvalidStateErrorDOMException -
Нет активного рабочего потока, связанного с регистрацией, к которой принадлежит этот объект
NavigationPreloadManager.
Примеры
Ниже показан пример установки значения.
navigator.serviceWorker.ready
.then((registration) =>
registration.navigationPreload.setHeaderValue(newValue),
)
.then(() => console.log("Done!"))
.catch((e) =>
console.error(`NavigationPreloadManager not supported: ${e.message}`),
);
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
setHeaderValue |
59 | 18 | 99 | 46 | 15.4 | 59 | 99 | 43 | 15.4 | 7.0 | 59 |
© 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/NavigationPreloadManager/setHeaderValue