【发布时间】:2017-11-23 04:37:02
【问题描述】:
我正在使用Notification.permission 来检查浏览器是否允许通知。
我的检查通知权限的代码如下。
// Let's check if the browser supports notifications
if (!("Notification" in window)) {
alert("This browser does not support desktop notification");
}
var prm = Notification.permission;
if (prm == 'default' || prm == 'denied') {
console.log("permission denied or default");
}else{
console.log("permission granted");
}
这段代码在我的localhost 中运行良好,但是当我尝试在生产中使用时,它总是会给出拒绝状态。
我的通知浏览器设置是在此站点上始终允许。
但我不知道是什么问题。
需要帮助。
【问题讨论】:
-
it will always give denied status- 您的代码将“拒绝”和“默认”视为同一件事,您确定您被拒绝了吗? -
是的,如果 prm == 'default' || prm == 'denied' 我想打印 console.log("permission denied or default");但 prm 在生产中总是给出拒绝状态,但在 localhost 中完美运行。
-
根据图片,您的通知设置为
Ask (default)- 尽管您声称“我的通知浏览器设置在此站点上始终允许。” -
同样的事情发生在我身上,默认情况下,如果网站不安全,chrome 会阻止所有通知
-
是的 @HimanshuBansal 如果网站不安全,那么它总是拒绝。我在 https 中进行了测试,然后它运行良好。
标签: javascript angularjs notifications