ServiceWorkerRegistration.update()

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

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

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

Синтаксис

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 1
# service-worker-registration-update

Совместимость с браузерами

BCD tables only load in the browser

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