Полное принудительное обновление SPA, игнорирование кэша, сервисных работников и т. Д. - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть сайт, созданный с помощью Vue (SPA).Я играл с работниками сферы обслуживания, и мне кажется, что я что-то полностью испортил, потому что теперь я не вижу ничего, кроме пустого сайта в Safari на моем iPhone.

Я отладил проблему, подключив свой телефон к своему Macи с помощью инструмента инспектора Safari посмотреть, что происходит.Кажется, что сервисный работник предоставляет старый файл index.html, который затем пытается извлечь старый файл .js (которого больше нет на сервере).Поскольку сервер возвращает текстовый / простой ответ (страница 404), сафари на моем телефоне все останавливает, потому что тип содержимого этой страницы 404 не соответствует ожидаемому типу содержимого .js файла.

Сайт по-прежнему работает нормально на других устройствах, поэтому на данный момент я не на 100% уверен, виноват ли я, или это вина Safari.

В любом случае, я хочуКаким-то образом форсируют полное удаление кэша (включая сервисных работников).Это возможно?Если нет, то как я могу решить эту проблему?

1 Ответ

0 голосов
/ 05 февраля 2019

Не зная возможностей удаленной отладки на вашем телефоне, предполагая, что вы можете ввести js для запуска на нем, используя инструменты dev, вы можете отменить регистрацию работника сервиса, используя что-то вроде:

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

Обратите внимание, кредиты идут по адресу: https://stackoverflow.com/a/33705250/966530

...