Notification:permission 静态属性

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中可用。

注意:此功能在Web Workers中可用。

permissionNotification 接口的只读静态属性,它指示用户为当前来源显示 Web 通知授予的当前权限。

表示当前权限的字符串。该值可以是

已授予

用户已明确授予当前来源显示系统通知的权限。

已拒绝

用户已明确拒绝当前来源显示系统通知的权限。

默认

用户决策未知;在这种情况下,应用程序将像权限被拒绝一样运行。

示例

如果您想首先检查是否支持通知,然后检查是否已为当前来源授予发送通知的权限,然后在发送通知之前根据需要请求权限,则可以使用以下代码段。

js
function notifyMe() {
  if (!("Notification" in window)) {
    // Check if the browser supports notifications
    alert("This browser does not support desktop notification");
  } else if (Notification.permission === "granted") {
    // Check whether notification permissions have already been granted;
    // if so, create a notification
    const notification = new Notification("Hi there!");
    // …
  } else if (Notification.permission !== "denied") {
    // We need to ask the user for permission
    Notification.requestPermission().then((permission) => {
      // If the user accepts, let's create a notification
      if (permission === "granted") {
        const 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 anymore.
}

规范

规范
Notifications API 标准
# dom-notification-permission

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅