Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Webkit notifications requestPermission function doesn't work

I am trying to implement support for WebKit's native desktop notifications on my site. When I try to ask for user's permission to use the notifications, absolutely nothing happens. For example, the following HTML does not prompt Chrome to ask me for permission:

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

<body>
    <h1>Testing</h1>
    <script>
        window.webkitNotifications.requestPermission();
    </script>
</body>
</html>

I know that there is no problem with my version of Chrome because other sites (e.g. http://www.html5rocks.com/tutorials/notifications/quick/) work perfectly fine: I can see both the prompt and the subsequent notifications.

like image 699
Alexey Blinov Avatar asked Feb 18 '11 10:02

Alexey Blinov


2 Answers

Check the specification at chromium api docs. You can call it only as a feedback to user gesture/action - mouse click etc.

requestPermission Requests that the user agent ask the user for permission to show notifications from scripts. This method should only be called while handling a user gesture; in other circumstances it will have no effect. This method is asynchronous. The function provided in callback will be invoked when the user has responded to the permission request. If the current permission level is PERMISSION_DENIED, the user agent may take no action in response to requestPermission.

UPDATE 2014-10-01: In Chrome 37, the user gesture requirement was removed. It should now be possible to request permission to display notifications at any moment. If you wish to target older versions of Chrome as well (eg. in a corporate environment), you'll probably need to continue relying on user gesture events.

like image 55
Tom Tu Avatar answered Oct 16 '22 17:10

Tom Tu


For checking Notification on local file (file://) permission will popup but notification wont work on chrome.

As a work around you can change

Content setting > Notification > Allow All websites to show notification

Shortest code to show notification

var notification = new Notification("YOUR MESSAGE");
like image 42
Zaheer Avatar answered Oct 16 '22 19:10

Zaheer