gpt4 book ai didi

service-worker - 如何在我的 PWA 关闭时触发离线后台功能

转载 作者:行者123 更新时间:2023-12-04 15:32:21 27 4
gpt4 key购买 nike

基于这个答案:
Using setInterval in Service worker从三年前开始,

我想知道是否有任何方法可以使 PWA(通过服务 worker 或不通过服务 worker )触发一些基于时间而不是网络相关的后台功能。

当我的 PWA 关闭时,我想每分钟使用内置通知 Chrome API 的导航器推送通知。

我看到服务 worker 的主要目标是缓存资源,但在每个文档中我都看到它们在某种程度上“始终处于事件状态”,所以我觉得这些可用的事件监听器之一应该做我想做的事情。

最佳答案

静默重启你注册的 service worker 每分钟当您的 PWA 关闭时,浏览器会主动阻止。在许多情况下,这将成为恶意行为的载体。

话虽如此,有两种选择可以不静默或不那么频繁地启动注册的 Service Worker。

推送通知

在事情的“非沉默”方面,您可以使用 push notifications根据从推送通知服务器发送的传入消息启动您的 Service Worker。用户需要先选择接收推送通知。您需要在 Service Worker 的 push 中显示用户可见的通知。事件处理程序,所以这个方法不是“静默”的。

你需要触发这些push通过远程服务器的事件。您无法通过 push“唤醒”服务人员来自本地设备的事件。

定期后台同步

Periodic background sync是较新的功能,更接近您所描述的内容。它允许满足特定条件的 Web 应用程序注册 periodicsync将定期自动触发(无需移除服务器)的事件。您不需要在此 periodicsync 中显示用户可见的通知。事件处理程序。

适用于定期后台同步的具体限制取决于浏览器,但至少在 Chrome 中,您无法注册 periodicsync几乎每分钟触发一次的事件。如果满足其他条件,每天一个事件的发生频率与您预期的一样多。

关于service-worker - 如何在我的 PWA 关闭时触发离线后台功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60987496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com