Notification请求权限时总提示”被拒绝”怎么办?
我按文档写了Notification请求权限的代码,但每次调用Notification.requestPermission()都直接返回’denied’状态,明明之前没授权过啊…
尝试过在用户交互事件里触发,像这样:
button.addEventListener('click', () => {
Notification.requestPermission().then(result => {
console.log(result); // 输出一直是"denied"
});
});
检查了浏览器设置发现Chrome里我的网站确实被直接拉黑了,但没找到哪里改回来。难道初始化请求必须得在HTTPS环境下才能正常弹窗吗?
1. 打开Chrome,输入
chrome://settings/content/notifications进入通知设置页面。2. 在“允许”或“阻止”列表中找到你的网站。
3. 如果网站在“阻止”列表中,点击它然后选择“允许”。
另外,确保在用户交互事件中请求权限,你已经在按钮点击事件里调用了
Notification.requestPermission(),这部分是正确的。如果以上步骤都没有解决问题,尝试清除浏览器缓存或者换个浏览器试试。有时候浏览器的缓存问题也会导致奇怪的行为。