我正在尝试在我的网站上实现对WebKit本机桌面通知的支持。当我试图要求用户允许使用通知时,绝对没有任何反应。例如,以下HTML不会提示Chrome请求我的许可:
<html lang="en">
<head></head>
<body>
<h1>Testing</h1>
<script>
window.webkitNotifications.requestPermission();
</script>
</body>
</html>
我知道我的Chrome版本没有任何问题,因为其他网站(例如http://www.html5rocks.com/tutorials/notifications/quick/)工作正常:我可以看到提示和后续通知。
答案 0 :(得分:50)
检查chromium api docs处的规范。您只能将其称为对用户手势/操作的反馈 - 鼠标单击等。
requestPermission请求 用户代理询问用户是否允许 显示脚本通知。 只应调用此方法 处理用户手势时;在 在其他情况下,它将没有 影响。此方法是异步的。 回调中提供的功能会 在用户响应时调用 到许可请求。如果 当前的权限级别是 PERMISSION_DENIED,用户代理可以 不采取任何行动回应 requestPermission。
更新2014-10-01 :在Chrome 37中,the user gesture requirement was removed。现在应该可以请求随时显示通知的权限。如果您希望定位旧版Chrome(例如,在公司环境中),您可能需要继续依赖用户手势事件。
答案 1 :(得分:2)
要检查本地文件的通知(file://),将弹出权限,但通知不会对chrome有效。
作为一种解决方法,你可以改变
内容设置&gt;通知&gt;允许所有网站显示通知
显示通知的最短代码
var notification = new Notification("YOUR MESSAGE");