Обновление: , поскольку этот ответ получает отрицательные голоса, я добавил это объяснение.
Возможно, ваша проблема не в фактической перезагрузке, а в том, что Mobile Safari по-разному обрабатывает кэш и файлы cookie вашего пользователя, когда ваше веб-приложение открывается через браузер, чем когда оно «устанавливается» как веб-приложение надомашний экран.Хотя предложенные здесь решения, использующие localStorage, будут работать, они требуют много работы для логики на стороне клиента, которой можно избежать, если ваш сервер уже отвечает за сохранение состояния сеанса вашего пользователя.30-секундное решение состоит в том, чтобы просто явно установить cookie-файл сеанса на более длительный срок службы.
Это позволяет сохранить состояние без изменений даже между перезагрузками устройства, поэтому технически не останавливает веб-приложение.после перезагрузки при запуске с домашнего экрана это простой способ восстановить состояние для пользователя, не заметив перезагрузку - во многих случаях я подозреваю, что это реальная проблема.
Для более подробного обсуждения этой стратегии и примеров кода, посмотрите на эти вопросы и мои ответы там: