mozilla
Your Search Results

    Notification.requestPermission()

    The requestPermission() method of the Notification interface requests permission from the user for the current origin to display notifications.

    Syntax

    Notification.requestPermission(callback);

    Parameters

    callback Optional
    An optional callback function that is called when the user chooses a permission. The permission picked by the user is a string passed as the first argument to the callback function. Possible values for this string are granted, denied, or default.

    Returns

    Void.

    Example

    The following snippet requests permission from the user, then logs a different result to the console depending on the users' choice.

    Notification.requestPermission(function(result) {
      if (result === 'denied') {
        console.log('Permission wasn\'t granted. Allow a retry.');
        return;
      } else if (result === 'default') {
        console.log('The permission request was dismissed.');
        return;
      }
      // Do something with the granted permission.
    });

    Specifications

    Specification Status Comment
    Notifications API Living Standard Living standard

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support 5 webkit (see notes)
    22
    4.0 moz (see notes)
    22
    Not supported 25 6 (see notes)
    Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
    Basic support ?

    (Yes)

    4.0 moz (see notes)
    22
    1.0.1 moz (see notes)
    1.2
    Not supported ? Not supported

    (Yes)

    Firefox OS notes

    • Prior to Firefox 22 (Firefox OS <1.2), the instantiation of a new notification must be done with the navigator.mozNotification object through its createNotification method.
    • Prior to Firefox 22 (Firefox OS <1.2), the Notification was displayed when calling the show method and supported only the click and close events.
    • Nick Desaulniers wrote a Notification shim to cover both newer and older implementations.
    • One particular Firefox OS issue is that you can pass a path to an icon to use in the notification, but if the app is packaged you cannot use a relative path like /my_icon.png. You also can't use window.location.origin + "/my_icon.png" because window.location.origin is null in packaged apps. The manifest origin field fixes this, but it is only available in Firefox OS 1.1+. A potential solution for supporting Firefox OS <1.1 is to pass an absolute URL to an externally hosted version of the icon. This is less than ideal as the notification is displayed immediately without the icon, then the icon is fetched, but it works on all versions of Firefox OS.
    • When using notifications  in a Firefox OS app, be sure to add the desktop-notification permission in your manifest file. Notifications can be used at any permission level, hosted or above.
      "permissions": {
          "desktop-notification":{}
      }

    Chrome notes

    Safari notes

    • Safari started to support notification with Safari 6, but only on Mac OSX 10.8+ (Mountain Lion).

    See also

    Document Tags and Contributors

    Last updated by: jpmedley,