1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Notification</title>
6 </head>
7 <body>
8 <div class="content">
9 <button id="creatNotification">Creat</button>
10 <button id="closeNotification">Close</button>
11 </div>
12 <script>
13 var page = {
14 data : {
15 Notification : '',
16 count : 0
17 },
18 init : function(){
19 this.bindEvent();
20 },
21 bindEvent : function(){
22 var _this = this,
23 creatN = document.getElementById('creatNotification'),
24 closeN = document.getElementById('closeNotification');
25 creatN.onclick = function(){
26 _this.creatNotification();
27 }
28 closeN.onclick = function(){
29 _this.closeNotification();
30 }
31 },
32 /*
33 Notification对象permission属性:
34 default :用户尚未配浏览器请求显示通知权限。
35 grant :有显示通知权限。
36 denied :拒绝显示通知权限。
37 */
38 creatNotification : function(){
39 var _this = this;
40 if(window.Notification.permission === 'granted'){
41 //创建通知
42 _this.data.Notification = new Notification('简单文本通知',{
43 dir : 'ltr',//通知的文字方向
44 // icon : 'icon',
45 tag : 'MyID',//值为字符串,指定通知的唯一标识
46 body : '这是第'+ (++_this.data.count) + '通知内容'
47 });
48 //通知被显示
49 _this.data.Notification.onshow = function(){
50 alert('通知被显示');
51 }
52 //通知被关闭
53 _this.data.Notification.onclose = function(){
54 // _this.data.count--;
55 alert('通知被关闭');
56 }
57 //通知被点击
58 _this.data.Notification.onclick = function(){
59 alert('通知被点击');
60 }
61 // onerror 事件
62 _this.data.Notification.onerror = function(e){
63 //e代表被捕捉到的错误对象
64 alert('error')
65 }
66 }
67 else if (window.Notification.permission === 'default'){
68 window.Notification.requestPermission();
69 }
70 },
71 closeNotification : function(){
72 //close()方法关闭通知
73 this.data.Notification.close();
74 }
75 }
76 window.onload = page.init();
77 </script>
78 </body>
79 </html>