Сервисный работник на сафари загрузки зашифрованных JS - PullRequest
0 голосов
/ 09 июня 2018

Я использую расщепление кода через реагирующую загрузку и сервисные работники через offline-плагин.Он отлично работает в Chrome и Firefox.

Но он не работает должным образом в Safari.Когда я иду по другому маршруту, для этого маршрута загружается кусок js, и он приходит от сервисного работника, как и ожидалось, но сервисный работник возвращает зашифрованный js (я полагаю), например, для: N��} ���S������ ^ + ����

версия Safari - 11.1.1 То же самое происходит в iOS Safari

1 Ответ

0 голосов
/ 05 июля 2018

Я создавал сжатые ресурсы brotli и gzip.Но в файле сервисного работника я использовал путь сжатых ресурсов brotli, и, так как brotli не поддерживается Safari, он не смог распаковать активы.

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

...