gpt4 book ai didi

javascript - Chrome 中的 Notification.permission 总是返回被拒绝

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:54:46 25 4
gpt4 key购买 nike

我有一个网站在登录期间要求用户通知许可。我那里有一个代码,当他/她拒绝许可时自动注销用户(见下面的代码)

//Checks if user browsers notification is "Allowed", if "denied", logs out user
if(Notification.permission == 'denied') {
removeAllCookies($cookies);
$location.path("/login");
}

该代码起初似乎没问题,但就在今天它开始出现故障。所有新用户都会自动注销,即使他们还没有配置权限。

我什至尝试在地址栏左侧的 favicon 手动检查权限,我可以看到它仍然设置为 ask(default)。我也尝试手动将其设置为 AllowNotification.permission 函数仍然返回被拒绝。这是什么原因造成的?在我的电脑上没问题,但在所有其他用户中它会自动阻止。

编辑:刚才我已经在我的电脑上遇到了同样的事情。我的通知权限是允许的,但 Notification.permission 总是返回 denied。我控制台记录了它,它确实返回被拒绝。有人吗?

最佳答案

你那里有奇怪的业务逻辑,但它的值(value)......

Chrome 有一些规定:

1) 必须使用 HTTPS 或本地主机。如果不是,我的经验会自动拒绝权限

2) 如果你注册一个 service worker 会更可靠(我认为它实际上是移动 chrome 所必需的)

请务必通读有关 Notifications API 的文档,因为您会学到一些东西。 MDN 是一个很好的资源。

其他可能有帮助的是确保您的通知逻辑包含在 requestPermission promise 中:

Notification.requestPermission().then(function(permission) {
//if permission == 'denied' // logout
}

如果有任何帮助,请告诉我。

关于javascript - Chrome 中的 Notification.permission 总是返回被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47342178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com