progressive-web-apps - 如何在 PWA 被丢弃时取消注册服务人员
问题描述
这听起来像是一个愚蠢的问题,但问题就在这里。我正在为客户端开发 PWA,一切正常:安装了服务工作者,以及桌面上的应用程序。
我知道如何以编程方式卸载应用程序和服务人员。但是,例如在运行 Android 4.4 的旧三星平板电脑上,可以将应用程序图标拖到桌面上的垃圾箱(就像任何快捷方式一样),然后卸载应用程序,但服务人员仍然处于活动状态并正在运行(我可以看到它在 DevTools 中)。
问题:在 PWA 以这种方式被破坏后,如何摆脱服务人员?我担心该应用程序的最终用户可能会以这种方式将其删除,并且仍然有一个服务人员在他们的移动设备上处于活动状态......
提前致谢。
解决方案
Service Worker 的进程将在短暂的空闲时间后自动停止运行——大约在 1 分钟到 5 分钟之间,具体取决于浏览器和操作系统。
如果你打开了 Chrome 的 DevTools,那么这将人为地让 service worker 进程无限期地保持活动状态,以帮助调试。(如果您尝试调试与 service worker 的状态相关的东西,并且 service worker 进程在中间停止,那将是令人沮丧的。)
不过,这只适用于您打开 DevTools 的情况,因此您应该相信,如果您不“查看”它,它会自行停止。
推荐阅读
- php - phpmyadmin 的安装问题
- android - 暂停和恢复如何在 android 中的协程上工作
- python - 如何将密钥作为参数
- python - Django Admin:为外键的外键创建按钮
- node.js - 如何在 kurento 中拆分音频、混合它们并创建另一个通道?
- c - 在 Arm 装配中使用 fopen
- java - 在处理 Kotlin 代码示例时,espresso 测试库的 onView() 调用出现问题
- amazon-web-services - AWS ElasticSearch 控制台:如何访问我的 ES 域中的索引选项卡
- flutter - Flutter:相机和推送通知出错
- python - plotly.express choropleth 仅显示来自 geojson 的一些信息