Javascript chrome通知取消订阅事件

Javascript chrome通知取消订阅事件,javascript,google-chrome,push-notification,service-worker,web-push,Javascript,Google Chrome,Push Notification,Service Worker,Web Push,是否可以捕获取消订阅事件 这是im用于向用户订阅通知的代码 if ('serviceWorker' in navigator) { navigator.serviceWorker.ready.then(function(reg) { reg.pushManager.subscribe({ userVisibleOnly: true }).then(function(sub) { add_endpoint_to_db( sub )

是否可以捕获取消订阅事件

这是im用于向用户订阅通知的代码

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.ready.then(function(reg) {
      reg.pushManager.subscribe({
        userVisibleOnly: true
      }).then(function(sub) {
          add_endpoint_to_db( sub ); // im adding the user deatils to my db
      }).catch(function(e) {
        if (Notification.permission === 'denied') {

        } else {

        }
      });
  });
}

如果用户选择手动删除通知

if ('serviceWorker' in navigator) {
    navigator.serviceWorker.ready.then(function(reg) {
      reg.pushManager.subscribe({
        userVisibleOnly: true
      }).then(function(sub) {
          add_endpoint_to_db( sub ); // im adding the user deatils to my db
      }).catch(function(e) {
        if (Notification.permission === 'denied') {

        } else {

        }
      });
  });

我想捕捉这个动作,以便从DB中删除他的条目

那么,是否可以捕获通知更改事件?

您正在查找该事件


“取消订阅”是一种浏览器设置,可通过“设置”选项卡和脱机模式完成,因此您无法获取该信息

但一旦用户取消订阅(即删除服务人员注册),则在发送下一条消息时,您应该会从FCM API收到一条失败消息。(如果您使用的是firebase)


所以这样想吧……)

大家好,我也在关注这一点,因为在数据库中有很多条目,在手动订阅之后,新条目被创建chrome://settings/content/notifications并删除您的站点显示通知的权限,此时我甚至不需要将您的站点本身加载到我的浏览器中。。。因此,即使在这种情况下,我也看不到任何人能够捕捉到该事件…@CBroe Hi感谢您的回复,但在这种情况下,我如何删除数据库中附加到用户的端点?因为下一次用户将允许通知,我将生成一个新的端点,这将为用户创建两个端点(因为它们总是不同的)。这可能会有帮助吗?嗨,如果用户没有internet怎么办?连接后将发送请求?Chrome尚未实现
pushsubscriptionchange
事件。请注意: