Notification.requestPermissions -没有显示对话框,Chrome中显示“自动阻止”消息

h7wcgrx3  于 2023-06-19  发布在  Go
关注(0)|答案(1)|浏览(172)

我正在localhost上使用SSL测试HTML5通知。我已经重置了网站的Chrome设置(通过点击URL框中的锁定图标-“网站设置”),并将双重检查通知设置为“询问(默认)"。
下面是我的代码:

if (Notification.permission !== "granted") {
    Notification.requestPermission();
}

但是,一旦代码运行,没有权限弹出显示,而是我在地址栏中看到这个锁图标,上面写着“通知已阻止”:

尝试将.then() promise添加到代码中-结果相同。使用Chrome版本85.0.4183.102。他们改变了什么吗?
我确实看到博客文章提到,如果用户关闭弹出窗口三次,Chrome会自动禁用通知,但我确实重置了设置吗?
P.S.如果我刷新页面并再次请求权限-我在控制台"Notifications permission has been blocked as the user has ignored the permission prompt several times."中看到了这一点等等,如果我没有看到提示,我怎么能忽略它呢?

zaq34kh6

zaq34kh61#

好吧,所以经过一个小时的头撞墙,我找到了原因。

女士们先生们,地址栏里的那个小锁图标是新的“通知提示”。
那真是。。。令人失望
P.S.我们都明白这背后的意图是防止人们滥用这些弹出窗口。但更好的方法是检查代码是否在用户触发的上下文中运行(例如响应于点击),如果是,则像之前一样离开它。

相关问题