Notification.permission
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
JavaScript
Copy Code
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 wasdenied
.
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.
JavaScript
Copy Code
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
License
© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/notification/permission