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 по необходимости:

js
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

Смотрите также