Notification简述
来源:互联网 发布:qq炫舞mac版 编辑:程序博客网 时间:2024/06/05 09:03
Notification是window里面的一个对象,但它主要是依附在浏览器程序里面,意思说页面即使最小化了,它还可以运行。
Notification.permission是Notification对象的只读属性,三个值:“granted":用户允许,"denied":用户拒绝,还有第三个值default
,意思是不知道用户是允许还是拒绝。
Notification.requestPermission 方法:
当permission的值是default
时,此方法才会有效执行,询问用户是否授权网站通知推送;
它的参数是一个回调函数,当用户执行了允许或拒绝或关闭后,回调函数就会传入一个字符串,此字符串就是permission的三个值之一;
当permission是granted是就可以实例化Notification对象了。
Notification通过构造方法进行实例化:
var n = new Notification(title,options
);
title是通知的标题,options
是可选属性;
options 本来就是一个字面量,它包含Notification实例对象属性:
dir:文字方向,
body:通知内容,
lang:指定通知中所使用的语言。这个字符串必须在 BCP 47 language tag 文档中是有效的,
tag
: 赋予通知一个ID,以便在必要的时候对通知进行刷新、替换或移除。
icon:图片显示的地址;
Notification的实例对象属性都是只读的,在构造方法设置后不能修改。
事件处理
Notification.onclick
- 处理
click
事件的处理。每当用户点击通知时被触发。 Notification.onshow
- 处理
show
事件的处理。当通知显示的时候被触发。 Notification.onerror
- 处理
error
事件的处理。每当通知遇到错误时被触发。 Notification.onclose
- 处理
close
事件的处理。当用户关闭通知时被触发。
</pre><pre name="code" class="javascript">来个例子:
<pre name="code" class="javascript">window.addEventListener('load', function () {if (!("Notification" in window)) {//alert("您的浏览器不支持通知推送功能");}else if(Notification.permission === "granted"){showND();}else if (Notification.permission !== 'denied') {//向用户申请权限Notification.requestPermission(function (permission) { if (permission === "granted") {showND();}});}});function showND(){var icon_="";var data_={body:"",icon:icon_};data_.body="hello!";notifiy("我是标题",data_);function notifiy(title,data){var n = new Notification(title,data);n.onclose=function(){alert('close');};n.onshow=function(){var t1=window.setTimeout(function(){n.close();//window.clearTimeout(t1);},5000);};n.onerror=function(){};n.onclick=function(){alert('click');}}
参考地址:https://developer.mozilla.org/zh-CN/docs/Web/API/notification
0 0
- Notification简述
- Notification
- Notification
- Notification
- Notification
- notification
- Notification
- Notification
- Notification
- Notification
- Notification
- Notification
- Notification
- Notification
- notification
- Notification
- Notification
- Notification
- myeclipse新建一个工作空间要做的事
- Stack
- spark-shell启动报错:./spark-shell: line 44: 5271 已杀死
- Ubuntu 14.04 Web服务器--Apache的安装和配置
- 传值方式
- Notification简述
- ssm 框架集成memcached 缓存服务器
- kindle电子书横竖屏切换方法
- $("#id :input")和$("#id input")的区别
- codeforces 651B Beautiful Paintings
- myeclipse创建web工程无响应
- 第7周 C语言程序设计(新2版) 练习1-14 打印输出各个字符出现频度的直方图(输出结果有问题)
- C++11正则表达式 ps:多线程
- Python threading operation