编程技巧│浏览器 Notification 桌面推送通知
一、什么是 Notification
Notification
是浏览器最小化后在桌面显示消息的一种方法类似于
360
等流氓软件在桌面右下角的弹窗广告它与浏览器是脱离的,消息是置顶的
二、弹窗授权
授权当前页面允许通知
可以通过检查只读属性
Notification.permission
的值来查看你是否已经有权限default: 用户还未被询问是否授权,可以通过
Notification.requestPermission()
可以询问用户是否允许通知granted: 用户点击允许后的状态
denied: 用户点击拒绝后的状态,通知框不可用
三、弹窗使用
可以通过
new Notification($title, $options)
使用通知推送功能title: 一定会被显示的通知标题
options: 可选,一个被允许用来设置通知的对象。它包含以下属性:
dir: 文字的方向;它的值可以是 auto(自动), ltr(从左到右), or rtl(从右到左)
lang: 指定通知中所使用的语言。
body: 通知中额外显示的字符串
tag: 赋予通知一个 ID,以便在必要的时候对通知进行刷新、替换或移除。
icon: 一个图片的 URL,将被用于显示通知的图标。
四、浏览器支持检测
使用通知推送功能前,需要先检查浏览器是否支持
可以通过
"Notification" in window
方法去检测在浏览器支持的前提下,判断用户是否授权允许通知,如果还未授权,可以弹出授权框
如果用户已经拒绝过,我们就不去打扰用户了
五、授权回调
该通知有四个回调方法
onshow: 在通知展示的时候调用
onclose: 在通知关闭的时候调用
onclick: 在通知点击的时候调用
onerror: 在通知出错的时候调用
六、3 秒后关闭弹窗
实现 3 秒后关闭弹窗的功能
版权声明: 本文为 InfoQ 作者【极客飞兔】的原创文章。
原文链接:【http://xie.infoq.cn/article/b94357feb10bcc9553507aa5a】。未经作者许可,禁止转载。
评论