Фон
Я разрабатываю веб-сайт и приложение TWA для него. Веб-сайт должен включать определенные функции только тогда, когда он отображается в приложении TWA. Чтобы определить это, я проверяю значение document.referrer и сохраняю его в хранилище сеансов (например, как описано здесь )
Проблема
Chromeможет быть отключен при сворачивании и воссоздан при возобновлении, таким образом, очистив хранилище сеанса и мою способность видеть, отображается ли сайт в TWA.
Действия по воспроизведению
- Запустить приложение TWA
- Определить приложение TWA на сайте, проверив document.referrer и сохранив его в хранилище сеансов.
- Просматривайте на своем сайте, изменяя таким образом значение document.referrer
- Сверните приложение TWA и запустите другие тяжелые приложения, которые должны убивать Chrome в фоновом режиме.
- Возврат в TWAприложение.
Результат
Chrome пытается воссоздать сеанс, который был закрыт в фоновом режиме. Но поскольку пользователь отошел от исходной страницы, document.referrer изменил значение. Хранилище сеанса было очищено, поэтому сайт больше не имеет представления о том, что он отображается в контексте TWA.
На этом этапе я мог бы отказаться от всего решения для хранения сеанса и согласиться с проверкой, является ли режим отображения автономным. Но мне любопытно посмотреть, есть ли у кого-нибудь еще мысли?