正在重置被拒绝的HTML通知
Resetting denied HTML notifications
我有一个web应用程序,在其中我使用HTML通知。如果用户第一次允许并开始使用它,它会正常工作。但是,如果用户通过单击阻止按钮第一次阻止通知,然后通过某些用户手势再次尝试请求许可,则浏览器不会触发(允许/阻止)弹出窗口。
这是我第二次触发权限。
if(Notification.permission == 'denied' || Notification.permission == 'default'){
Notification.requestPermission(function (permission) {
// If the user accepts, let's create a notification
if (permission === "granted") {
console.log("Regranted");
}
});
}
它适用于default
情况,但不适用于denied
情况。
正如前面的评论所指出的,您看到的行为是经过设计的。如果您阅读了步骤2,请参阅https://notifications.spec.whatwg.org/#dom-notificationrequestpermission您将看到该规范要求,只有当权限值为default
时,才会询问用户是否可以接受显示通知。如果权限值是granted
或blocked
,则该算法要求不再询问用户显示通知是否可接受。
用户如果改变了对其屏蔽的网站的通知的想法,可以选择进入浏览器设置,自行重置该网站的权限。
我建议有一个按钮来打开通知,然后检查那里的权限,如果之前被拒绝,则返回。
例如:
if (Notification.permission === "denied") {
alert("Notifications blocked. Please enable them in your browser.");
}
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- Chrome扩展-在全屏视频顶部显示自定义通知/弹出窗口(HTML元素)
- 实时 html 推送通知
- 带有HTML标记的桌面通知(代码示例)
- 如何将HTML页面中未保存的更改通知用户
- 是否有可能将cookie同意通知与HTML输出缓存结合起来?
- XAMPP PHP错误通知:“;未定义的变量“;从HTML到PHP
- HTML Web应用程序通知系统
- 使用纯HTML、CSS、JS通知是否可行?
- Windows phone 8.1 javascript+html本地吐司通知
- 正在重置被拒绝的HTML通知
- Webkit/Html通知的跨浏览器替代方案