【问题标题】:Is there any callback on permission change for web push notification?网络推送通知的权限更改是否有任何回调?
【发布时间】:2016-08-30 09:17:18
【问题描述】:

假设用户将权限设置为 allow 以接收推送通知,但后来将这些权限更改为 denieddefault

Serviceworker 中是否有针对此公开的回调。

【问题讨论】:

    标签: javascript push-notification service-worker


    【解决方案1】:

    没有任何事件暴露给 Service Worker。

    您可以通过Permissions API 从页面上下文中侦听一个事件:

    navigator.permissions.query({name: 'notifications'}).then(function(permission) {  
      // Initial status is available at permission.state
    
      permission.onchange = function() {  
        // Whenever there's a change, updated status is available at this.state
      };
    });
    

    【讨论】:

    • 我相信这是正确的答案,但根据 MDN,它是实验性技术,Safari 尚不支持:TypeError: undefined is not an object (evaluating 'navigator.permissions.query')
    • 我应该在 SW 上的 self.addEventListener('activate',() => {}) 上写这个吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2019-05-13
    • 2014-10-05
    相关资源
    最近更新 更多