2

如果我使用 Web 浏览器或 PWA 通过单击主屏幕上的图标打开 Web 应用程序,该应用程序在最小化时是否仍可以发送 HTTP 请求?

我之所以问这个问题是因为,例如,我想查看一个导航应用程序以导航到某个地方,但我仍然希望 Web 应用程序在最小化时通过 HTTP 请求更新用户的位置。

是否有可能,或者应用程序在未聚焦时会停止“工作”吗?是否需要服务工作者实现?

4

1 回答 1

2

您可以通过实施 PWA 来完成您的任务。Service Worker 文件将在后台运行,即使用户关闭应用程序也会继续运行。这是可能的,因为 SW 在单独的线程上运行。

也可以执行后台同步,尽管它的支持非常有限:

在此处输入图像描述

如果互联网连接可用,您可以让服务人员调用服务器以发送用户的位置,否则此信息可以存储在本地数据库(例如 IndexedDB 或 Cloud Firestore)中,然后,一旦用户再次上线,更改将被推送到服务器。

使用 Cloud Firestore 的好处是同步是开箱即用的。我写了一篇关于使用 Firestore 和 PWA来克服 CACHE API 的限制的文章。它位于关于 PWA 的系列文章中,如果您想深入了解该主题,请查看 st tit。

于 2019-09-26T10:55:57.337 回答