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>