页面上的HTML是否像事件或功能解决方案一样被激活以实现相同的目标?

问题描述 投票:-1回答:1

我有一个PWA(渐进式网络应用程序)应用程序,意图由用户“安装”。在大多数情况下,除了一个小问题外,一切都很好。问题是,当应用程序最小化(未关闭)时,数据会在一段时间后变得陈旧,理想情况下,我希望在用户再次启动应用程序时自动刷新信息。

经过一些研究,我似乎无法在页面被激活时触发HTML元素上的事件(当用户拉动应用程序时)。如果存在这样的事件,我会使用该事件运行一些代码,这些代码可以从服务器获取最新和最好的信息并同步用户界面信息,或者至少运行一些自动调用刷新的代码这页纸。

顺便说一句,我尝试研究诸如websockets和服务器发送事件之类的技术来维护用户界面数据是最新的,但这有点复杂,即使我让它工作,看起来我最终还是要处理各种断开连接的问题让我回到正方形。

所以我的问题是,实现我想要做的最好的方法是什么?

谢谢。

javascript html progressive-web-apps
1个回答
0
投票

使用visibilitychange事件: -

document.addEventListener("visibilitychange", visibilityChange);

有关完整的工作示例,请参阅BackgroundGeolocation solution.

如果您想要更冒险或“更好”,那么您可以将Cache API与ServiceWorker一起使用,然后满足来自Cache的Fetch请求(如果可能),同时向服务器请求“下一个”查询的新副本。

恕我直言,复制数据的最佳方式是“完全没有!”。但是,我的应用程序的性质使它们像没有网络的公牛一样有用。我们还说,我们还安装了5G无线网络。我会让杰克照顾撒哈拉以中的非洲。

© www.soinside.com 2019 - 2024. All rights reserved.