В настоящее время у меня есть PWA, построенный с использованием Vue CLI - здесь используется workbox-webpack-plugin
под капотом. Подробнее здесь .
Процесс обновления моего приложения был довольно простым и работал до недели go. Я написал «Service Worker Manager» - глобальный объект, который обрабатывал изменения состояния работника сервиса. Когда обновленное событие сработало, я бы выскочил диалоговое окно с просьбой обновления пользователя. Если бы они согласились, я бы запустил стандартно выглядящий window.location.reload(true)
, и новый сервисный работник был бы установлен и запущен.
В последнее время window.location.reload(true)
не вынуждает перезагрузить страницу в Chrome (v79 , настольный и мобильный) или Safari (мобильный, не знаю, какая версия). Он работает так, как задумано в Firefox.
Есть ли какой-нибудь альтернативный метод для принудительной перезагрузки или иного обновления PWA в Chrome или Safari? Единственный «удобный для пользователя» метод, который у меня есть на данный момент, - попросить их закрыть приложение, очистить его от последних приложений и снова открыть. Совсем не идеально.
Спасибо!