专栏名称: JavaScript
面向JavaScript爱好人员提供:前端最新资讯、原创内容、JavaScript、HTML5、Ajax、jQuery、Node.js等一系列教程和经验分享。
目录
相关文章推荐
51好读  ›  专栏  ›  JavaScript

HTML5 Notification消息通知

JavaScript  · 公众号  · Javascript  · 2017-02-10 17:58

正文

Notification 对象用来为用户设置和显示桌面通知,Web Notifications API 可以将通知发送至页面之外的系统层级上,因此,即便应用处于空闲状态或是在后台,web 应用仍然可以通过这个 API 向用户发送信息。比如网页版微信,每当用户收到一条新的消息,就会有一条通知显示给用户

用法

var notification = new Notification(title, [options])

参数

ParamTypeDescription
titlestring显示的通知标题
[options]object显示通知的配置项,可选
[options.dir]string文字方向, 取值为 auto、ltr、rtl 之一
[options.lang]string通知的语言,这个字符串必须在 BCP 47 language tag 文档中是有效的。
[options.body]string通知的内容
[options.tag]string通知的 id,通过此 id 可以对通知进行刷新、替换或移除
[options.icon]string通知的图标图片URL,将被用于显示通知的图标。

请求权限 
要显示通知,需要得到用户的授权,Notification 提供了 requestPermission 方法向用户申请显示通知的权限,此方法只能被用户行为调用(比如在onclick 事件中)

Notification.requestPermission(function(permission) {

   if (permission === "granted") {

       console.log(11)

       popNotice()

   }

});

权限状态 
只读属性 Notification.permission 可以用来获取用户授权状态

  • denied :拒绝通知显示

  • granted :允许通知显示

  • default :用户尚未被询问是否授权,在浏览器中表现与 denied 相同

事件处理 
Notification 实例上的事件监听

  • onshow/ondisplay : 在通知显示的时触发

  • onclick : 当用户点击通知时触发

  • onerror : 当通知出现错误时触发

  • onclose :当用户关闭通知时触发

Example

浏览器支持

  • Firefox 22+

  • Cheome 22+

  • Safari 6+

  • Opera 25+

  • Edge 14+

pc端基本支持(忘掉IE吧),移动端,在ios safari 上暂不支持,androd 4.4+ browser需要添加 webkit 前缀,上月24号发布的Firefox 51 for android 已经支持消息通知,安卓用户可以下载最新的Firefox浏览器在手机端体验(点击阅读原文查看demo),你也可以在 pc 浏览器查看 demo

效果如下

推荐文章
韩国me2day  ·  米兔韩语入门 第57讲
7 年前
英文悦读  ·  怎样写一篇作文?(3)
7 年前
亿邦动力  ·  微信厉害功能来了
7 年前
经典短篇阅读小组  ·  晓看天色暮看云,行也思君,坐也思君
7 年前
新身体  ·  男人行不行,看腿就知道了
7 年前