【问题标题】:Ping service worker without displaying a notificationPing service worker 不显示通知
【发布时间】:2019-07-12 01:30:22
【问题描述】:

我正在尝试监控哪些服务工作者处于活动状态(即哪些用户打开了浏览器)。我想出了一个解决方案,它通过 Web 推送 API 发送一个简单的 ping,这会触发 service worker 向我的服务器发送一个 ping 请求。但是我发现如果我不向用户显示通知,我会收到来自 Chrome 的警报。

This site has been updated in the background 

是我做错了什么,还是有其他方法可以解决这个问题?

【问题讨论】:

    标签: javascript service-worker web-push


    【解决方案1】:

    不,你没有做错任何事。这是设计使然。

    不可能在后台使用 Web Push API 联系 Service Worker 并且让系统不告诉用户。您正在描述一个被动跟踪系统,即使用户没有使用产品,您也可以在其中跟踪用户,并且受到软件设计的限制。当您使用 Web Push 时,您应该显示您自己的通知(API 用于通知),如果您不这样做,这就是浏览器所做的。

    我知道能够从服务器联系 SW 并让它运行一些小差事会非常好,但不幸的是,这也可以进行一些恶作剧。你也不能,例如。保持打开一个 WebSocket(在 SW 中不可用)或安排未来的任务让它 ping(不保证运行)。

    【讨论】:

    • 这是有道理的。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 2018-06-05
    相关资源
    最近更新 更多