如果我使用 Web 浏览器或 PWA 通过单击主屏幕上的图标打开 Web 应用程序,该应用程序在最小化时是否仍可以发送 HTTP 请求?
我之所以问这个问题是因为,例如,我想查看一个导航应用程序以导航到某个地方,但我仍然希望 Web 应用程序在最小化时通过 HTTP 请求更新用户的位置。
是否有可能,或者应用程序在未聚焦时会停止“工作”吗?是否需要服务工作者实现?
如果我使用 Web 浏览器或 PWA 通过单击主屏幕上的图标打开 Web 应用程序,该应用程序在最小化时是否仍可以发送 HTTP 请求?
我之所以问这个问题是因为,例如,我想查看一个导航应用程序以导航到某个地方,但我仍然希望 Web 应用程序在最小化时通过 HTTP 请求更新用户的位置。
是否有可能,或者应用程序在未聚焦时会停止“工作”吗?是否需要服务工作者实现?
您可以通过实施 PWA 来完成您的任务。Service Worker 文件将在后台运行,即使用户关闭应用程序也会继续运行。这是可能的,因为 SW 在单独的线程上运行。
也可以执行后台同步,尽管它的支持非常有限:
如果互联网连接可用,您可以让服务人员调用服务器以发送用户的位置,否则此信息可以存储在本地数据库(例如 IndexedDB 或 Cloud Firestore)中,然后,一旦用户再次上线,更改将被推送到服务器。
使用 Cloud Firestore 的好处是同步是开箱即用的。我写了一篇关于使用 Firestore 和 PWA来克服 CACHE API 的限制的文章。它位于关于 PWA 的系列文章中,如果您想深入了解该主题,请查看 st tit。