Сервисный работник не работает для мобильного Интернета (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

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