Google chrome 为什么chrome浏览器频繁更改端点

Google chrome 为什么chrome浏览器频繁更改端点,google-chrome,push-notification,service-worker,Google Chrome,Push Notification,Service Worker,我正在为我的网站开发chrome推送通知,并在localhost(本地机器)环境中进行开发。在我第一次订阅通知时获得的特定端点上发送推送通知是成功的。我对所有推送消息使用相同的端点 此处,由于端点不匹配,推送通知失败。当我在chrome控制台(调试模式)中看到不同的端点时。 为什么chrome浏览器正在改变端点?在这种情况下,我们如何处理这种情况并更新数据库中的新端点 示例端点: 当我下次检查时,上面的端点发生了如下更改 谢谢。推送通知端点取决于服务人员。取消注册并再次创建服务工作者时,Pu

我正在为我的网站开发chrome推送通知,并在localhost(本地机器)环境中进行开发。在我第一次订阅通知时获得的特定端点上发送推送通知是成功的。我对所有推送消息使用相同的端点

此处,由于端点不匹配,推送通知失败。当我在chrome控制台(调试模式)中看到不同的端点时。 为什么chrome浏览器正在改变端点?在这种情况下,我们如何处理这种情况并更新数据库中的新端点

示例端点:

当我下次检查时,上面的端点发生了如下更改


谢谢。

推送通知端点取决于服务人员。取消注册并再次创建服务工作者时,
PushManager.getSubscription()
方法将返回
null
。然后需要再次调用
subscribe()
,这将返回一个新端点

如果您的服务器在服务人员注销后尝试向第一个端点发送推送通知,您将收到
NotRegistered
(对于Chrome)或
Gone
(对于Firefox)错误。因此,请确保在应用程序加载后立即注册新端点,否则设备可能无法访问


请注意,这似乎不会影响service worker更新。

如何检索端点?如果您有有效的订阅,
getSubscription()
应返回相同的端点。(
subscribe()
可以返回不同的端点。)您好,mjs,我正在使用getsubscription(),但它并不总是改变。这里我要澄清的是,最终用户已经允许了通知,并得到了端点并存储到数据库中。同样,如果使用subscribe()获取端点,我们是否将获得不同的端点?我认为端点不应该从一个
getSubscription()
更改为另一个。(前提是客户没有退订。)如果你能复制这个,我会把它作为一个bug记录在Chrome中。(特别是如果FF的行为方式不同。)再次调用.pushManager.subscribe以获得已使用(授予权限)的用户将返回不同的端点?它不会改变,但是在google chrome mobile中,清除历史记录和Cookie会改变它