您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“HTML5如何實現Notification API桌面通知功能 ”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“HTML5如何實現Notification API桌面通知功能 ”這篇文章吧。
為什么需要HTML5的桌面通知
傳統的桌面通知可以寫一個div放到頁面右下角自動彈出來,并通過輪詢等等其他方式去獲取消息并推送給用戶。這種方式有個弊端就是:當我在使用京東 進行購物的時候,我是不知道人人網有消息推送過來給我的,而必須要等我把當前頁面切到人人網才知道有消息推送了。這種方式的消息推送它是基于頁面存活的, 但是我們需要這么一種策略:無論你在看哪個頁面,只要有消息都應該能推送給我看到,這就是webkitNotification要解決的問題。 Notification生成的消息不依附于某個頁面,僅僅依附于瀏覽器。
一個桌面通知生成的正常流程
我們先來看看一個桌面通知是如何生成的:
1.檢查瀏覽器是否支持Notification
2.檢查瀏覽器的通知權限(是否允許通知)
3.若權限不夠則獲取瀏覽器的通知權限
4.創建消息通知
5.展示消息通知
NOTE:關于第一點的說明需要做一些說明,Notification目前還沒有標準化,所以目前只支持chrome19+和safari6+;網上有資料顯示Firefox26+也支持,但是我拿我的Firefox27檢測的結果是無法支持。
html5的桌面通知我相信大家并不陌生。常見的有網頁版的微信等應用,需要設置桌面通知功能才可以使用。
用客戶端程序實現這樣的功能并不難。而傳統的網頁版的桌面通知可以寫一個div放到頁面右下角自動彈出來,并通過輪詢等等其他方式去獲取消息并推送給用戶。這種方式有個弊端就是:當我在使用淘寶進行購物的時候,我是不知道微博有消息推送過來給我的,而必須要等我把當前頁面切到新浪微博才知道有消息推送了。這種方式的消息推送它是基于頁面存活的, 但是我們需要這么一種策略:無論你在看哪個頁面,只要有消息都應該能推送給我看到,這就是webkitNotification要解決的問題。
Notification目前還沒有標準化,所以你在w3cschool等網站上是學習不到的。但是目前主流瀏覽器大部分都支持Notification。關于html5的桌面通知效果圖如下:
代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>html5桌面通知</title> </head> <body> <input type="button" value="開啟桌面通知" onclick="showNotice();"> <script> function showNotice(){ Notification.requestPermission(function(status){ //status默認值'default'等同于拒絕 'denied' 意味著用戶不想要通知 'granted' 意味著用戶同意啟用通知 if("granted" != status) return; var notify = new Notification("消息",{ dir:'auto', lang:'zh-CN', tag:'sds',//實例化的notification的id //icon 支持ico、png、jpg、jpeg格式 icon:'http://www.xttblog.com/icons/favicon.ico',//通知的縮略圖 body:'html5桌面通知' //通知的具體內容 }); notify.onclick=function(){ //如果通知消息被點擊,通知窗口將被激活 window.focus(); } }); } </script> </body> </html>
以上是“HTML5如何實現Notification API桌面通知功能 ”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。