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