HTML5显示桌面通知Notification

使用Notification的流程

1.检查浏览器是否支持Notification

2.检查浏览器的通知权限

3.如果权限不够则申请获取权限

4.创建消息通知

5.展示消息通知

Notification API

构造方法

let notification = new Notification(title, options)

参数

title: 通知的标题

options:

dir : 文字的方向;它的值可以是 auto(自动), ltr(从左到右), or rtl(从右到左)

lang: 指定通知中所使用的语言

body: 通知中显示的内容

tag: 赋予通知一个ID,以便在必要的时候对通知进行刷新、替换或移除

icon: 一个图片的URL,将被用于显示通知的图标

静态属性

Notification.permission

一个用于表明当前通知显示授权状态的字符串。可能的值包括:denied (用户拒绝了通知的显示), granted (用户允许了通知的显示), 或 default (因为不知道用户的选择,所以浏览器的行为与 denied 时相同)。

事件

Notification.onclick:每当用户点击通知时被触发。

Notification.onshow:当通知显示的时候被触发。

Notification.onerror:每当通知遇到错误时被触发。

Notification.onclose:当用户关闭通知时被触发。

方法

1.静态方法

Notification.requestPermission()

用于当前页面向用户申请显示通知的权限。

2.实例方法

Notification.close()

用于关闭通知。

其它实例方法暂时用不上。

https://www.houdianzi.com/vi设计公司

栗子

      if (!("Notification" in window)) {
        alert("浏览器不支持")
      } else if (Notification.permission === "granted") {
        this.showNotice()
      } else if (Notification.permission !== 'denied') {
        Notification.requestPermission(function (permission) {
          if (permission === "granted") {  // 如果用户同意,就可以向他们发送通知
            this.showNotice()
          }
        })
      }
      showNotice () {
        let myNotification = new Notification('标题区域', {
          body: '内容区域',
          icon: '图标链接'
        })
        myNotification.onclick = () => {
          console.log('通知被点击')
        }
      },