Webkit通知requestPermission函数不起作用

Ale*_*nov 26 html5 notifications webkit google-chrome html5-notifications

我正在尝试在我的网站上实现对WebKit本机桌面通知的支持.当我试图要求用户允许使用通知时,绝对没有任何反应.例如,以下HTML不会提示Chrome请求我的许可:

<html lang="en">
<head></head>

<body>
    <h1>Testing</h1>
    <script>
        window.webkitNotifications.requestPermission();
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我知道我的Chrome版本没有任何问题,因为其他网站(例如http://www.html5rocks.com/tutorials/notifications/quick/)运行良好:我可以看到提示和后续通知.

Tom*_* Tu 50

检查chromium api docs的规范.您只能将其作为对用户手势/动作的反馈进行调用 - 鼠标单击等.

requestPermission请求用户代理要求用户显示脚本通知的权限. 只应在处理用户手势时调用此方法 ; 在其他情况下,它将没有任何效果.此方法是异步的.当用户响应权限请求时,将调用回调中提供的函数.如果当前权限级别为PERMISSION_DENIED,则用户代理可以不响应requestPermission.

更新2014-10-01:在Chrome 37中,删除了用户手势要求.现在应该可以请求随时显示通知的权限.如果您希望同时定位旧版Chrome(例如,在公司环境中),则可能需要继续依赖用户手势事件.