ServiceWorkerRegistration.update()

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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

Метод 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);
  });
};

Спецификации

Спецификация Статус Комментарий
Service Workers
Определение 'ServiceWorkerRegistration.update()' в этой спецификации.
Рабочий черновик Первоначальное определение.

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

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidEdge MobileFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
update
Экспериментальная
Chrome Полная поддержка 45
Замечания
Полная поддержка 45
Замечания
Замечания Starting with Chrome 46, update() returns a promise that resolves with 'undefined' if the operation completed successfully or there was no update, and rejects if update failed. If the new worker ran but installation failed, the promise still resolves. Formerly, it raised an exception.
Замечания Before Chrome 48, this method always bypassed the browser cache. Starting with Chrome 48, it only bypasses the cache when the previous service worker check was more than twenty-four hours ago.
Edge Полная поддержка 17
Полная поддержка 17
Полная поддержка 16
Отключено
Отключено From version 16: this feature is behind the Enable service workers preference.
Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).
IE Нет поддержки НетOpera Полная поддержка 32
Замечания
Полная поддержка 32
Замечания
Замечания Starting with Opera 33, update() returns a promise that resolves with 'undefined' if the operation completed successfully or there was no update, and rejects if update failed. If the new worker ran but installation failed, the promise still resolves. Formerly, it raised an exception.
Замечания Before Opera 35, this method always bypassed the browser cache. Starting with Opera 35, it only bypasses the cache when the previous service worker check was more than twenty-four hours ago.
Safari Полная поддержка 11.1WebView Android Полная поддержка 45
Замечания
Полная поддержка 45
Замечания
Замечания Starting with Chrome 46, update() returns a promise that resolves with 'undefined' if the operation completed successfully or there was no update, and rejects if update failed. If the new worker ran but installation failed, the promise still resolves. Formerly, it raised an exception.
Замечания Before Chrome 48, this method always bypassed the browser cache. Starting with Chrome 48, it only bypasses the cache when the previous service worker check was more than twenty-four hours ago.
Chrome Android Полная поддержка 45
Замечания
Полная поддержка 45
Замечания
Замечания Starting with Chrome 46, update() returns a promise that resolves with 'undefined' if the operation completed successfully or there was no update, and rejects if update failed. If the new worker ran but installation failed, the promise still resolves. Formerly, it raised an exception.
Замечания Before Chrome 48, this method always bypassed the browser cache. Starting with Chrome 48, it only bypasses the cache when the previous service worker check was more than twenty-four hours ago.
Edge Mobile ? Firefox Android Полная поддержка 44Opera Android Полная поддержка 32
Замечания
Полная поддержка 32
Замечания
Замечания Starting with Opera 33, update() returns a promise that resolves with 'undefined' if the operation completed successfully or there was no update, and rejects if update failed. If the new worker ran but installation failed, the promise still resolves. Formerly, it raised an exception.
Замечания Before Opera 35, this method always bypassed the browser cache. Starting with Opera 35, it only bypasses the cache when the previous service worker check was more than twenty-four hours ago.
Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.

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

Метки документа и участники

Внесли вклад в эту страницу: mdnwebdocs-bot, fdor
Обновлялась последний раз: mdnwebdocs-bot,