According to the spec,您可以提示浏览器允许用户授予或拒绝浏览器通知。一旦用户授予了权限,是否有办法以编程方式拒绝该权限?
在授予权限后调用window.Notification.requestPermission()
除了运行成功承诺之外什么都不做。
我的目标是在我网站的用户设置部分中切换一个On / Off按钮。据我所知,没有办法切换一次切换。
答案 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来近似此功能。