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 # service-worker-registration-update |
Совместимость с браузерами
BCD tables only load in the browser