Сервисный работник не работает для мобильного Интернета (Chrome, Firefox, IE)
Я настроил сервисного работника для статического веб-приложения, которое должно работать на мобильных телефонах. Я использую React / WebPack2 для этого приложения.
Service Worker прекрасно работает и работает, когда я открываю приложение через рабочий стол, но когда я пытаюсь зайти в приложение через мобильный телефон, оно не устанавливается. Когда SW заканчивает установку, он выдает предупреждающее сообщение ("onInstalled");
https://abo-deg.surge.sh/ (вот пример)
https://abo-deg.surge.sh/survey/background
https://github.com/strongharris/sample (sw.js находится внутри src, главная точка входа: src/index.js, webpack.config)
Предупреждение отображается через рабочий стол, но не в мобильных браузерах. Я что-то пропустил? Есть ли другой способ настроить работника службы для мобильных веб-приложений? Любые ресурсы, или советы, или предположения будут с благодарностью.
1 ответ
Я думаю, что ответ довольно прост. Ваш сервер не переводит вас автоматически https://abo-deg.surge.sh
когда вы печатаете abo-deg.surge.sh
на вашем мобильном телефоне.
Я смог запустить его на Chrome Mobile, набрав полный URL-адрес с помощью https://
Сервисный API-интерфейс доступен только для сайтов, работающих по протоколу HTTPS, поскольку
Модифицировать сетевые запросы, открытые для человека в середине атаки, было бы очень плохо https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
Пожалуйста, имейте в виду, что ваш код будет работать только в этих браузерах, поэтому не ожидайте, что он будет работать на iOS