Есть ли HTML на странице, активированный как событие или функциональный обходной путь для достижения того же самого? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть приложение PWA (прогрессивное веб-приложение), которое должно быть «установлено» пользователем. По большей части все работает довольно хорошо, за исключением одной маленькой проблемы. Проблема в том, что когда приложение свернуто (не закрыто), данные через некоторое время устаревают, и в идеале я хотел бы автоматически обновить информацию, когда пользователь снова запускает приложение.

После некоторого исследования я не смог найти событие в элементе HTML, которое сработало бы при активации страницы (когда пользователь запускает приложение). Если бы такое событие существовало, я бы использовал это событие для запуска некоторого кода, который извлекал бы самую последнюю и самую большую информацию с сервера и синхронизировала информацию пользовательского интерфейса, или, по крайней мере, запускал некоторый код, который автоматически выполняет вызов для обновления страницы.

Кстати, я пытался изучить такие технологии, как веб-сокеты и отправленные сервером события, чтобы поддерживать данные пользовательского интерфейса в актуальном состоянии, но это становится довольно сложно, и даже если я заставлю это работать, похоже, что я в конечном итоге мне приходится иметь дело со всеми видами проблем с разъединением, что ставит меня на круги своя.

Итак, мой вопрос: как лучше всего выполнить то, что я пытаюсь сделать?

Спасибо.

1 Ответ

0 голосов
/ 12 апреля 2019

Используйте событие visibilitychange: -

document.addEventListener("visibilitychange", visibilityChange);

Полный рабочий пример см. В решении BackgroundGeolocation.

Если вы хотите получить больше приключений или «лучше»«затем вы можете использовать API-интерфейс Cache с ServiceWorker, а затем удовлетворить запрос Fetch из Cache (где это возможно), одновременно запрашивая у сервера свежую копию для« следующего »запроса.

IMHO, лучший способдля репликации данных это " Совсем нет! ".Но тогда природа моих приложений делает их такими же полезными, как соски на быке без сети.Также у нас установлена ​​беспроводная сеть 5G, как мы говорим.Я позволю Джейку присмотреть за средне-сахарской Африкой.

...