ServiceWorkerRegistration.update () пропускает фазу ожидания и активирует нового работника службы? - PullRequest
0 голосов
/ 23 апреля 2019

Я читал NekR / offline-плагин исходный код.В методе обновления он вызывает браузер ServiceWorker.update ().

Я хочу знать, что если этот метод принудительно активирует нового сервисного работника (т. Е. SkipWaiting), или он просто извлекает последний сервисный работник и ждет, пока пользовательотсоединить сервисных работников от браузера (т.е. на этапе ожидания).

Ответы [ 2 ]

1 голос
/ 23 апреля 2019

Нет, это не заставляет новый SW взять контроль. Это может потенциально сломать многие приложения. Событие установки выполняется, и сам скрипт SW отвечает за вызов skipWaiting и т. Д., Если он этого хочет.

Это видно из специфики процесса обновления Service Worker. SkipWaiting не планируется. https://www.w3.org/TR/service-workers-1/#dom-serviceworkerregistration-update

0 голосов
/ 23 апреля 2019

Нет информации относительно пропуска фазы ожидания с использованием ServiceWorkerRegistration.update(), он будет только пытаться обновить работника службы и установить нового работника.Вы можете попробовать проверить эту документацию , просто нажав «Пропустить ожидание», используя инструмент разработчика, чтобы пропустить фазу ожидания, чтобы активировать нового работника сервиса.

...