Почему приложение PWA, запущенное из «Добавить на домашний экран», не может загружаться без подключения к Интернету? - PullRequest
0 голосов
/ 22 мая 2018

Мы сделали наш сайт (https://www.hijup.com) PWA готовым с возможностью добавления на HomeScreen. Приложение может быть запущено с HomeScreen с включенным подключением к Интернету. Но когда подключение отключено, появляется диалоговое окно, какследуйте:

"Чтобы использовать [my_app_name] в первый раз, пожалуйста, подключитесь к Интернету"

Почему для этого все еще требуется подключение к Интернету? Все JS & CSS уже переданы (используя workbox.precaching) и start_url был кэширован с помощью стратегии * 1009. * Более того, я запускаю приложение не в первый раз (как подсказывает диалоговое сообщение).

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Это решается исправлением соответствия маршрута:

Ранее это было:

 workbox.routing.registerRoute(new RegExp('www\\.hijup\\.com/id/$'), pagesHandler);

Регулярное выражение не соответствует моему start_url: "/en?utm_source=a2hs"

Исправление состоит в том, чтобы Regex соответствовал суффиксу ?utm_source=a2hs

workbox.routing.registerRoute(new RegExp('www\\.hijup\\.com/id/?(?:\\?.+)?$'), pagesHandler);
0 голосов
/ 23 мая 2018

Хорошая работа по обеспечению соответствия вашего сайта PWA ... почти.Осталась одна маленькая вещь, вызывающая эту проблему согласно отчету о проверке Chrome Lighthouse PWA.start_url недопустим в файле manifest.json.Попробуйте поставить

"start_url": "https://www.hijup.com/", 

вместо

"start_url": "/en?utm_source=a2hs",

. Вы можете запустить инструменты Chrome для разработчиков> Аудит -> Прогрессивное веб-приложение, чтобы убедиться, что проблема решается (начальный URL указан правильно)

...