ServiceWorkerRegistration.update()

Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод update интерфейса ServiceWorkerRegistration предназначен для обновления service worker. Он обращается по URL service worker-a, и если новый worker побайтно не совпадает с текущим, инсталлирует новую версию. Обращение за новой версией worker обходит любые кеши браузера, если предыдущее обращение произошло более 24 часов назад..

Примечание: Эта возможность доступна в Web Workers.

Синтаксис

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

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