Как загрузить и обновить сервис-воркер в фоновом режиме?

Я пытаюсь понять, как обновить приложение с помощью сервисного работника.

Моя текущая идея такова:

  1. Развернуть новое приложение ==> изменить serviceWorker.js
  2. Использовать базу данных в реальном времени для отправки уведомлений об изменениях
  3. Приложение запускает обновление serviceWorker.js ‹==== Возможно ли это?
  4. Браузер загружает измененный сервис-воркер в фоновом режиме
  5. Сервисный работник завершил установку, уведомляет страницу о необходимости перезагрузки
  6. Приложение отображает сообщение [нажмите, чтобы обновить].

Как обновить Service Worker в фоновом режиме (шаг 3)?


person Lily B    schedule 27.06.2017    source источник


Ответы (1)


Объект ServiceWorkerRegistration update() заставит браузер проверить, доступен ли обновленный сценарий сервисного работника. Например.:

navigator.serviceWorker.register('/sw.js').then(registration => {
  window.addEventListener('your-update-event', () => registration.update());
});
person Jeff Posnick    schedule 27.06.2017
comment
Спасибо ! Работает отлично. - person Lily B; 27.06.2017