Похоже, Apple изменила поведение домашнего экрана / автономного веб-приложения в iOS 13, но я не могу найти официальную документацию по этому вопросу. Теперь кажется, что если у вас не было настройки manifest.json до , когда веб-приложение было добавлено на домашний экран, оно рассматривает только начальную страницу как область действия автономного представления. Следовательно, любая другая ссылка / редирект открывается в другом окне или в браузере приложения.
У нас на домашних экранах установлено пользовательское веб-приложение, которое было написано несколько лет назад и функционировало до версии iOS 13 без манифеста. файл .json. Мне пришлось переписать код WebSQL в нашем приложении, чтобы использовать IndexedDB, поскольку они полностью исключили WebSQL из веб-приложений на домашнем экране в iOS 13, даже если WebSQL был повторно включен в расширенной настройке Safari. Когда я начинал тестировать на iPhone, любая ссылка или перенаправление, даже используя window.location.assign или любое количество других методов, всегда открывали следующую страницу в браузере приложения с минимальным пользовательским интерфейсом. Это также смешалось с геометрией страницы, поскольку то, что представляло собой страницу полной высоты без прокрутки, теперь можно было прокручивать с помощью элементов нашей кнопки «Далее», отодвинутых в нижней части экрана. Так как у нас есть несколько прокручиваемых панелей в середине некоторых страниц, было неочевидно, как добраться до конца страницы (нужно прокрутить фиксированный элемент, чтобы прокрутить всю страницу), чтобы это не сработало для наших пользователей. .
Короче говоря, добавление файла минимального файла manifest.json в веб-приложение (даже не требуется настройка scope ) и удаление и повторное добавление веб-приложения вПосле этого домашний экран заставляет его вести себя как прежде со всеми страницами, отображаемыми в автономном режиме. Добавление manifest.json к уже установленному приложению главного экрана не влияет на поведение.