Работники службы проверяют скрипт импорта на разницу в байтах - PullRequest
0 голосов
/ 06 июня 2018

Я проверил много тем на эту тему, и не могу найти четкого ответа на этот вопрос.

Вопрос:

Службарабочие проверяют импортированные скрипты на разницу в байтах и ​​запускают обновление ПО, если есть разница.

В GitHub я прошел через:

А также выполнил следующие действия:

Большинство статей из 2016/17, и они говорят, что это должно быть выполнено.На GitHub есть даже упоминание о том, что работа над этим началась, но ничего более, нет четкого статуса по этому поводу или, может быть, я просто скучаю по нему?

Любая информация по этому вопросу будет полезна.

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Согласно this , начиная с версии 68, chrome будет игнорировать HTTP-кеш при запросе обновлений для сценария работника сервиса.Запросы на importScripts по-прежнему будут проходить через HTTP-кеш.Но это только по умолчанию - доступна новая опция регистрации updateViaCache , которая предлагает контроль над этим поведением.

Пример опции updateViaCache:

if ('serviceWorker' in navigator) { navigator.serviceWorker.register('/service-worker.js', { updateViaCache: 'none' }); }

Если установлено значение «none», кэш HTTP не будет использоваться при выполнении запросов для файла /service-worker.js верхнего уровня или для любого импортированного сценария, такого как гипотетический путь / to / import.js..

0 голосов
/ 07 июня 2018

Это на самом деле разница в размерах файлов в самом файле SW.Если вы посмотрите на этот пример SW в строке 31, переменная CACHE_VERSION обновляется каждый раз, когда происходит обновление.Это позволит браузеру сбросить старый и получить новую версию с сервера.

...