Как заставить сервисного работника очистить кеш?

Я разработал PWA. Проблема, с которой я столкнулся, заключается в том, что при выпуске новой версии я увеличиваю номер версии в файле рабочего сервиса (sw.js), и когда он запускается, кеш восстанавливается. Номер версии - это имя кеша, поэтому изменение должно инициировать новый кеш, который он запускает при запуске.

Проблема здесь в том, когда он работает.

Некоторым из моих клиентов трудно "получить" последнюю версию, потому что их браузер не хочет загружать новую версию и настаивает на обслуживании старой версии, пока я не проинструктирую клиента вручную очистить кэш браузера и перезагрузить Chrome.

В моем проекте мой сервисный работник зарегистрирован в js-файле с именем app.js.

Возможно, проблема в том, что sw.js импортируется зарегистрированным в файле app.js со следующей строкой:

.register ('/ государственный /sw.js')

Мой вопрос заключается в том, будет ли нормально использовать метод очистки кэша в app.js, чтобы эти файлы запускались каждый раз, а затем, когда я вносил изменения в файл sw.js (обозначенный новым номером версии), старый кеш не будет использоваться, но будет создан новый кеш.

Для кеша app.js я бы использовал

               var versionUpdate = (new Date()).getTime();  

               var script = document.createElement("script");  

               script.type = "text/javascript";  

               script.src = "/js/app.js?v=" + versionUpdate;  

               document.body.appendChild(script);  

Для тех, кто знает о PWAs... Это вызовет какие-либо неблагоприятные последствия?

Спасибо

0 ответов

Другие вопросы по тегам