拒绝浏览器通知权限

时间:2017-04-14 20:54:21

标签: browser notifications

According to the spec,您可以提示浏览器允许用户授予或拒绝浏览器通知。一旦用户授予了权限,是否有办法以编程方式拒绝该权限?

在授予权限后调用window.Notification.requestPermission()除了运行成功承诺之外什么都不做。

我的目标是在我网站的用户设置部分中切换一个On / Off按钮。据我所知,没有办法切换一次切换。

1 个答案:

答案 0 :(得分:1)

不幸的是,我现在认为这是不可能的。

将来我们应该能够使用Permissions API来检查和撤消通知(以及其他API,例如地理定位等)。

但是,虽然我们目前可以查询权限的状态,但不支持撤消方法。我认为直到最近才有可能在Firefox中使用,但在51中,功能已更改为默认为关闭。 根据{{​​3}}:

  

默认情况下,从Firefox开始禁用revoke()函数   51,因为它的设计在网上受到质疑   应用安全工作组。可以通过设置重新启用它   首选项dom.permissions.revoke.enable为true。

权限API示例:

navigator.permissions.query({name:'notifications'}).then(function(result) {

  console.log(result);

});

结果是提示/拒绝/授予。更改'查询'撤销'撤销'否认权限。

navigator.permissions.revoke({name:'notifications'});

或者,几年前的MDN提出了一种您可能感兴趣的替代方法 - 使用localStorage来近似此功能。