После установки ServiceWorker SW будет постоянным в будущем? - PullRequest
1 голос
/ 21 июня 2019

Я написал и развернул программу для установки ServiceWorker.

Однако общая производительность службы упала из-за ServiceWorker.

Итак, я решил удалить ServiceWorker из этой службы.

Я уже развернул службу с помощью ServiceWorker. Разве этот ServiceWorker не удаляется из браузера пользователя, если он явно не удален на стороне программы?

Или со временем он будет автоматически удален из браузера пользователя, уже запустившего ServiceWorker?

Кроме того, если мне нужно явно удалить его, я должен написать следующий код?

navigator.serviceWorker.getRegistrations().then(function(registrations) {
  for(let registration of registrations) {
    registration.unregister()
  }
})

1 Ответ

1 голос
/ 21 июня 2019

Браузеры реализуют процедуру call-home, в которой они автоматически проверяют наличие обновлений скрипта SW, когда прошло 24 часа с момента последнего раза.В этой проверке HTTP-кеш браузера обойдется, и сервер запросит новую версию файла.Таким образом, теоретически в течение достаточно длительного времени каждый клиент должен автоматически удалять ПО.

Однако это автоматическое обновление не было в первоначальных реализациях ПО.Если кто-то использует старый браузер или браузер меньшего размера без поддержки этого, этого может быть недостаточно.По этой причине я бы также использовал предоставленный вами незарегистрированный код.

Используйте оба.

...