HTML5中的桌面提醒(web notifications)能够让用户在操作系统桌面得到实时的消息提醒,在网页多窗口聊天的时候,这一功能将极大的方便用户。但是实现这一功能的浏览器均以webkit为内核。应用的范围还很有限
1. API介绍
①桌面提醒功能是由window对象下的webkitNotifications来实现的,通过window.webkitNotifications将返回一个NotificationCenter对象。这个对象没有属性,但是却关联着四个方法:
A.requestPermission()
B.checkPermission()
C.createNotification()
D.createHTMLNotification()
1、 requestPermission()
①这个方法用于向用户请求获得消息提醒的权限,调用这个方法分别对应着3中状态:“granted”(状态值:0)表示用户同意消息提醒;“default”(状态值:1)表示默认状态,用户既未拒绝,也未同意;“denied”(状态值:1)表示用户拒绝消息提醒。只有在状态值为0的时候才能够允许消息提醒,这个值保存在一个内部变量中,并且是只读的,通过checkPermission()方法可以提取到这个状态值。
2、checkPermission()
这个方法用于获取请求权限的状态值,并返回这个值。
3、createNotification()
① 这个方法以纯消息的方式创建提醒消息,它接受三个参数:iconURL, title, body。这三个参数均为字符串格式,iconURL表示一个图标地址、title表示消息标题、body表示消息主体,默认这三个参数为空字符串
② 调用这个方法会返回一个Notification对象,我们可以针对这个对象做更多的设置。
A. tag:为消息添加标签。如果设置此属性,当有新消息提醒时,标签相同的消息,后一个消息框会替换先前一个,不会出现多重消息提示框。
B. onshow:事件属性,当消息框显示的时候触发该事件;
C. onclick:事件属性,当点击消息框的时候触发该事件;
D. onclose:事件属性,当消息关闭的时候触发该事件;
E. onerror:事件属性,当出现错误的时候触发该事件;(TODO:错误类型)
F. 方法:
A. addEventListener && removeEventListener:常规的添加和移除事件方法;
B. show:显示消息提醒框;
C. close:关闭消息提醒框;