參考鏈接:http://blog.csdn.net/guoquanyou/article/details/51726571
Web Notifications是HTML5 的一個特性,目前我知道的有谷歌瀏覽器和windows edge對它進行了支持
下面是一個簡單的示例(注意測試的時候需要把頁面發布到瀏覽器上才會有效果):
<div class="row"> <div class="col-md-12"> <button id="showNoti">顯示通知</button> </div> </div> <script> $(function () { $("#showNoti").click(function () { if (!window.Notification) { alert("瀏覽器不支持通知!"); } console.log(window.Notification.permission);
if (window.Notification.permission != 'granted') { Notification.requestPermission(function (status) { //status是授權狀態,如果用戶允許顯示桌面通知,則status為'granted' console.log('status: ' + status); //permission只讀屬性: // default 用戶沒有接收或拒絕授權 不能顯示通知 // granted 用戶接受授權 允許顯示通知 // denied 用戶拒絕授權 不允許顯示通知 var permission = Notification.permission; console.log('permission: ' + permission); }); }
var n = new Notification("您有一條消息!", { "icon": "", "body": "您一分鍾后將有好運氣" }); n.onshow = function () { console.log("顯示通知"); setTimeout(function () { n.close() }, 2000); }; n.onclick = function () { alert("打開相關視圖"); window.open("/Home/about"); n.close(); }; n.onclose = function () { console.log("通知關閉"); }; n.onerror = function () { console.log('產生錯誤'); //do something useful }; }); }); </script>
相關函數:
Notification.requestPermission(callback);--用於取得用戶同意
Notification.permission --用戶是否同意顯示通知,相關取值:
“granted”(狀態值:0)表示用戶同意消息提醒;“default”(狀態值:1)表示默認狀態,用戶既未拒絕,也未同意;“denied”(狀態值:1)表示用戶拒絕消息提醒。只有在狀態值為0的時候才能夠允許消息提醒
new Notification(title, options)
通過new構造,顯示通知。
其中title是必須參數,options是可選參數,下面是一些參數的簡單說明
lang:提示的語言
bady:提示消息的主體內容。
tag:標記當前通知的標簽
icon:就是提示的時候顯示的圖標
renotify:是否替換之前的通知項