网络推送通知的权限更改是不是有任何回调?
Posted
技术标签:
【中文标题】网络推送通知的权限更改是不是有任何回调?【英文标题】:Is there any callback on permission change for web push notification?网络推送通知的权限更改是否有任何回调? 【发布时间】:2016-08-30 09:17:18 【问题描述】:假设用户将权限设置为 allow 以接收推送通知,但后来将这些权限更改为 denied 或 default。
Serviceworker 中是否有针对此公开的回调。
【问题讨论】:
【参考方案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',() => ) 上写这个吗?以上是关于网络推送通知的权限更改是不是有任何回调?的主要内容,如果未能解决你的问题,请参考以下文章