我该如何处理pushsubscriptionchange事件?

问题描述 投票:3回答:2

According to the specpushsubscriptionchange事件表明“推送订阅已失效,或很快将失效”。处理此事件的最佳做法是什么?

web-push progressive-web-apps
2个回答
3
投票
  1. 完全在服务工作者内处理重新订阅。在事件被触发时,可能没有与服务工作者关联的客户端(即打开的页面) - 不要使用postMessage()来触发客户端的重新订阅。
  2. 实施可能会在一段时间(可能是几天)内兑现旧订阅。虽然规范没有做出这样的保证,但实施可能会在一段时间内支持旧密钥和新密钥,以减少/消除消息被丢弃的可能性,因为其中一个客户端或服务器没有收到“新”密钥。
  3. 截至2016年4月,Chrome和Firefox均未触发此事件。但是,由于它在规范中,为了确保用户继续接收消息,您应该确保正确处理它。

2
投票

你可以在这里找到处理pushsubscriptionchange事件的详细解释,你需要处理一些陷阱。喜欢:

  • 推文订阅更改目前尚未在Chrome中实施。
  • PushSubscriptionChangeEvent总是空的。如果要在服务器中替换它,则不会使用oldSubscription

How to handle WebPush API PushSubscriptionChange event in modern browsers

© www.soinside.com 2019 - 2024. All rights reserved.