Notification.permission
Notification 的只读属性 permission 用来表明用户是否允许当前域显示Web Notification.
Note: 此特性在 Web Worker 中可用。
Syntax
var permission = Notification.permission;
Value
permission 的类型为 DOMString
. 该属性的可能值为:
granted
: 用户已经明确的授予了显示通知的权限。.denied
: 用户已经明确的拒绝了显示通知的权限。default
: 用户还未被询问是否授权; 这种情况下权限将视为denied
.
Examples
下面的代码片段详细的说明了,当你首次检查浏览器是否支持Notification,然后检查当前域是否被授予了发送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 permission |
Living Standard | Living standard |
Browser compatibility
We're converting our compatibility data into a machine-readable JSON format.
This compatibility table still uses the old format,
because we haven't yet converted the data it contains.
Find out how you can help! (en-US)
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 5 webkit (en-US) (see notes) 22 |
(Yes) | 4.0 moz (en-US) (see notes) 22 |
未实现 | 25 | 6 (see notes) |
Available in workers | ? | ? | 41.0 (41.0) | ? | ? | ? |
Feature | Android | Android Webview | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|---|
Basic support | ? |
(Yes) |
(Yes) | 4.0 moz (en-US) (see notes) 22 |
1.0.1 moz (en-US) (see notes) 1.2 |
未实现 | ? | 未实现 |
(Yes) |
Available in workers | ? | ? | ? | 41.0 (41.0) | ? | ? | ? | ? | ? |
Firefox OS notes
{{Page("/en-US/docs/Web/API/Notifications_API", "Firefox OS notes")}}
Chrome notes
{{Page("/en-US/docs/Web/API/Notifications_API", "Chrome notes")}}
Safari notes
{{Page("/en-US/docs/Web/API/Notifications_API", "Safari notes")}}