HTML5 桌面消息提醒

Notification HTML5新属性,复制代码创建HTML文件,浏览器查看效果

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>桌面通知</title>
 6     <script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
 7 </head>
 8 <body>
 9     <button onclick="show_notification('新消息', '开局一把枪一条狗,装备全靠捡!')">显示通知</button>
10 
11     <script>
12         function show_notification(title, msg) {
13             var Notification = window.Notification || window.mozNotification || window.webkitNotification;
14             var data = {
15                 body: msg, // 消息内容
16                 icon: 'https://gss0.bdstatic.com/6LZ1dD3d1sgCo2Kml5_Y_D3/sys/portrait/item/a2f3c8cbb2bbc4dcccabd7d4cbbdb0a1c23e' // 消息图标
17             };
18             
19             if(Notification){ // 检测是否支持桌面通知
20                 if(Notification.permission == "granted") { // 已经允许通知
21                     var instance = new Notification(title, data);
22                     instance.onclick = function() { // 点击事件
23                         alert('你点击了消息弹框!');
24                         console.log('onclick');
25                         instance.close();
26                     };
27                     instance.onerror = function() { // 错误
28                         console.log('onerror');
29                     };
30                     instance.onshow = function() { // 打开事件
31                         console.log('onshow');
32                     };
33                     instance.onclose = function() { // 关闭事件
34                         console.log('onclose');
35                     };
36                 }else{ // 第一次询问或已经禁止通知(如果用户之前已经禁止显示通知,那么浏览器不会再次询问用户的意见,Notification.requestPermission()方法无效)
37                     Notification.requestPermission(function(status) {
38                         if(status === "granted"){ // 用户允许
39                             var instance = new Notification(title, data);
40                             instance.onclick = function() {};
41                             instance.onerror = function() {};
42                             instance.onshow = function() {};
43                             instance.onclose = function() {};
44                         }else{ // 用户禁止
45                             return false
46                         }
47                     });
48                 }
49             }else{
50                 alert('浏览器不支持桌面通知!');
51             }
52 
53         }
54         
55     </script>
56 </body>
57 </html>

 

posted @ 2018-01-30 17:52  HUI9527  阅读(1697)  评论(0编辑  收藏  举报