ServiceWorkerRegistration.update()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Примечание: Эта возможность доступна в Web Workers.
Метод update
интерфейса ServiceWorkerRegistration
предназначен для обновления service worker. Он обращается по URL service worker-a, и если новый worker побайтно не совпадает с текущим, инсталлирует новую версию. Обращение за новой версией worker обходит любые кеши браузера, если предыдущее обращение произошло более 24 часов назад..
Синтаксис
ServiceWorkerRegistration.update();
Параметры
Нет.
Возвращает
Промис
, который разрешается в объект ServiceWorkerRegistration
.
Пример
В следующем простом примере регистрируется service worker, а затем добавляется обработчик события клика по кнопке, так что вы можете явно обновить service worker по необходимости:
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.register("/sw-test/sw.js", { scope: "sw-test" })
.then(function (registration) {
// Регистрация произошла
console.log("Registration succeeded.");
button.onclick = function () {
registration.update();
};
})
.catch(function (error) {
// Ошибка при регистрации
console.log("Registration failed with " + error);
});
}
Спецификации
Specification |
---|
Service Workers # service-worker-registration-update |
Совместимость с браузерами
BCD tables only load in the browser