您可以通过运行以下命令提示用户允许或拒绝来自浏览器的桌面通知:
Notification.requestPermission(callback);
但是可以通过代码删除该权限吗?我们希望用户可以选择切换通知.这可以通过JavaScript实现,还是我们需要在其他地方保存该选项?
解决方法
不,您的脚本无法以编程方式放弃显示通知的权限.除了requestPermission之外,API specification没有任何与权限相关的功能. (当然,浏览器可能有一个选项菜单,允许用户撤消域的权限,但这是一个浏览器级选项,而不是网站级选项.例如,在Chrome中,您可以看到此选项菜单单击地址栏左侧的图标.)
if(notifications_allowed) { new Notification(...); }
或者,您可以重写Notification构造函数以包含contiditional并根据需要调用原始Notification:
(function() { var oldNofitication = Notification; Notification = function() { if(notifications_allowed) { oldNotification.apply(this,arguments); } } })();
如果您使用供应商前缀的构造函数或函数(例如,webkitNotifications.createNotification),那么您还需要重写每个构造函数或函数,以条件取决于您的options变量.
原文地址:https://www.jb51.cc/js/158735.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。