Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Notification.permission

This article needs a technical review. How you can help.

The permission read-only property of the Notification interface indicates the current permission granted by the user for the current origin to display web notifications.

Note: This feature is available in Web Workers.

Syntax

var permission = Notification.permission;

Value

A DOMString representing the current permission. The value can be:

  • granted: The user has explicitly granted permission for the current origin to display system notifications.
  • denied: The user has explicitly denied permission for the current origin to display system notifications.
  • default: The user decision is unknown; in this case the application will act as if permission was denied.

Examples

The following fairly verbose snippet could be used if you wanted to first check whether notifications are supported, then check if permission has been granted for the current origin to send notifications, then request permission if required, before then sending a notification.

function notifyMe() {
  // Let's check if the browser supports notifications
  if (!("Notification" in window)) {
    console.log("This browser does not support desktop notification");
  }

  // Let's check whether notification permissions have alredy been granted
  else if (Notification.permission === "granted") {
    // If it's okay let's create a notification
    var notification = new Notification("Hi there!");
  }

  // Otherwise, we need to ask the user for permission
  else if (Notification.permission !== 'denied' || Notification.permission === "default") {
    Notification.requestPermission(function (permission) {
      // If the user accepts, let's create a notification
      if (permission === "granted") {
        var notification = new Notification("Hi there!");
      }
    });
  }

  // At last, if the user has denied notifications, and you 
  // want to be respectful there is no need to bother them any more.
}

Specifications

Specification Status Comment
Notifications API
The definition of 'permission' in that specification.
Recommendation 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)
Available in workers ? 41.0 (41.0) ? ? ?
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)

Available in workers ? ? 41.0 (41.0) ? ? ? ? ?

Firefox OS notes

Chrome notes

Safari notes

See also

Document Tags and Contributors

 Contributors to this page: edmoz, jpmedley, chrisdavidmills, fscholz, MHasan, kscarfone, Jeremie
 Last updated by: edmoz,