Notification

向用户配置和显示桌面通知

构造方法

let notification = new Notification(title, options)
#####title:通知标题

#####option:
dir:文字方向  默认auto, ltr, rtl
lang  语言,要符合BCP 47 language tag 文档
body: 额外显示的字符串
tag: 赋予通知的一个id便于对通知刷新,替换,移除
icon: 显示通知的图标

属性

Notification
permission{
denied (用户拒绝了通知的显示),
granted (用户允许了通知的显示),
default (因为不知道用户的选择,所以浏览器的行为与 denied 时相同).
}

实例属性

这些属性仅在 Notification 的实例中有效。

Notification.title 只读 (moz only)
在构造方法中指定的 title 参数。
Notification.dir 只读
通知的文本显示方向。在构造方法的 options 中指定。
Notification.lang 只读
通知的语言。在构造方法的 options 中指定。
Notification.body 只读
通知的文本内容。在构造方法的 options 中指定。
Notification.tag 只读
通知的 ID。在构造方法的 options 中指定。
Notification.icon 只读
通知的图标图片的 URL 地址。在构造方法的 options 中指定。

事件处理

Notification.onclick
处理 click 事件的处理。每当用户点击通知时被触发。
Notification.onshow
处理 show 事件的处理。当通知显示的时候被触发。
Notification.onerror
处理 error 事件的处理。每当通知遇到错误时被触发。
Notification.onclose
处理 close 事件的处理。当用户关闭通知时被触发。

方法

Notification.requestPermission()
用于当前页面想用户申请显示通知的权限。这个方法只能被用户行为调用(比如:onclick 事件),并且不能被其他的方式调用。
实例方法

这些方法仅在 Notification 实例或其 prototype 中有效。

Notification.close()
用于关闭通知。
Notification 对象继承自 EventTarget 接口。
EventTarget.addEventListener()
Register an event handler of a specific event type on the EventTarget.
EventTarget.removeEventListener()
Removes an event listener from the EventTarget.
EventTarget.dispatchEvent()
Dispatch an event to this EventTarget.

实例

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

  // Let's check if the user is okay to get some notification
  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.requestPermission(function (permission) {
      // If the user is okay, let's create a notification
      if (permission === "granted") {
        var notification = new Notification("Hi there!");
      }
    });
  }

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

你可能感兴趣的:(Notification)