Определение, работает ли веб-сайт в TWA после завершения работы Chrome - PullRequest
0 голосов
/ 01 ноября 2019

Фон

Я разрабатываю веб-сайт и приложение TWA для него. Веб-сайт должен включать определенные функции только тогда, когда он отображается в приложении TWA. Чтобы определить это, я проверяю значение document.referrer и сохраняю его в хранилище сеансов (например, как описано здесь )

Проблема

Chromeможет быть отключен при сворачивании и воссоздан при возобновлении, таким образом, очистив хранилище сеанса и мою способность видеть, отображается ли сайт в TWA.

Действия по воспроизведению

  1. Запустить приложение TWA
  2. Определить приложение TWA на сайте, проверив document.referrer и сохранив его в хранилище сеансов.
  3. Просматривайте на своем сайте, изменяя таким образом значение document.referrer
  4. Сверните приложение TWA и запустите другие тяжелые приложения, которые должны убивать Chrome в фоновом режиме.
  5. Возврат в TWAприложение.

Результат

Chrome пытается воссоздать сеанс, который был закрыт в фоновом режиме. Но поскольку пользователь отошел от исходной страницы, document.referrer изменил значение. Хранилище сеанса было очищено, поэтому сайт больше не имеет представления о том, что он отображается в контексте TWA.

На этом этапе я мог бы отказаться от всего решения для хранения сеанса и согласиться с проверкой, является ли режим отображения автономным. Но мне любопытно посмотреть, есть ли у кого-нибудь еще мысли?

...