HTML5實現(xiàn)Notification API桌面通知功能
發(fā)布時間:2016-03-02 10:51:43 作者:佚名
我要評論

Notification生成的消息不依附于某個頁面,僅僅依附于瀏覽器。 下面通過本文給大家介紹HTML5實現(xiàn)Notification API桌面通知功能,需要的朋友參考下吧
為什么需要HTML5的桌面通知
傳統(tǒng)的桌面通知可以寫一個div放到頁面右下角自動彈出來,并通過輪詢等等其他方式去獲取消息并推送給用戶。這種方式有個弊端就是:當我在使用京東 進行購物的時候,我是不知道人人網(wǎng)有消息推送過來給我的,而必須要等我把當前頁面切到人人網(wǎng)才知道有消息推送了。這種方式的消息推送它是基于頁面存活的, 但是我們需要這么一種策略:無論你在看哪個頁面,只要有消息都應該能推送給我看到,這就是webkitNotification要解決的問題。 Notification生成的消息不依附于某個頁面,僅僅依附于瀏覽器。
一個桌面通知生成的正常流程
我們先來看看一個桌面通知是如何生成的:
1.檢查瀏覽器是否支持Notification
2.檢查瀏覽器的通知權限(是否允許通知)
3.若權限不夠則獲取瀏覽器的通知權限
4.創(chuàng)建消息通知
5.展示消息通知
NOTE:關于第一點的說明需要做一些說明,Notification目前還沒有標準化,所以目前只支持chrome19+和safari6+;網(wǎng)上有資料顯示Firefox26+也支持,但是我拿我的Firefox27檢測的結(jié)果是無法支持。
html5的桌面通知我相信大家并不陌生。常見的有網(wǎng)頁版的微信等應用,需要設置桌面通知功能才可以使用。
用客戶端程序?qū)崿F(xiàn)這樣的功能并不難。而傳統(tǒng)的網(wǎng)頁版的桌面通知可以寫一個div放到頁面右下角自動彈出來,并通過輪詢等等其他方式去獲取消息并推送給用戶。這種方式有個弊端就是:當我在使用淘寶進行購物的時候,我是不知道微博有消息推送過來給我的,而必須要等我把當前頁面切到新浪微博才知道有消息推送了。這種方式的消息推送它是基于頁面存活的, 但是我們需要這么一種策略:無論你在看哪個頁面,只要有消息都應該能推送給我看到,這就是webkitNotification要解決的問題。
Notification目前還沒有標準化,所以你在w3cschool等網(wǎng)站上是學習不到的。但是目前主流瀏覽器大部分都支持Notification。關于html5的桌面通知效果圖如下:
代碼如下:
傳統(tǒng)的桌面通知可以寫一個div放到頁面右下角自動彈出來,并通過輪詢等等其他方式去獲取消息并推送給用戶。這種方式有個弊端就是:當我在使用京東 進行購物的時候,我是不知道人人網(wǎng)有消息推送過來給我的,而必須要等我把當前頁面切到人人網(wǎng)才知道有消息推送了。這種方式的消息推送它是基于頁面存活的, 但是我們需要這么一種策略:無論你在看哪個頁面,只要有消息都應該能推送給我看到,這就是webkitNotification要解決的問題。 Notification生成的消息不依附于某個頁面,僅僅依附于瀏覽器。
一個桌面通知生成的正常流程
我們先來看看一個桌面通知是如何生成的:
1.檢查瀏覽器是否支持Notification
2.檢查瀏覽器的通知權限(是否允許通知)
3.若權限不夠則獲取瀏覽器的通知權限
4.創(chuàng)建消息通知
5.展示消息通知
NOTE:關于第一點的說明需要做一些說明,Notification目前還沒有標準化,所以目前只支持chrome19+和safari6+;網(wǎng)上有資料顯示Firefox26+也支持,但是我拿我的Firefox27檢測的結(jié)果是無法支持。
html5的桌面通知我相信大家并不陌生。常見的有網(wǎng)頁版的微信等應用,需要設置桌面通知功能才可以使用。
用客戶端程序?qū)崿F(xiàn)這樣的功能并不難。而傳統(tǒng)的網(wǎng)頁版的桌面通知可以寫一個div放到頁面右下角自動彈出來,并通過輪詢等等其他方式去獲取消息并推送給用戶。這種方式有個弊端就是:當我在使用淘寶進行購物的時候,我是不知道微博有消息推送過來給我的,而必須要等我把當前頁面切到新浪微博才知道有消息推送了。這種方式的消息推送它是基于頁面存活的, 但是我們需要這么一種策略:無論你在看哪個頁面,只要有消息都應該能推送給我看到,這就是webkitNotification要解決的問題。
Notification目前還沒有標準化,所以你在w3cschool等網(wǎng)站上是學習不到的。但是目前主流瀏覽器大部分都支持Notification。關于html5的桌面通知效果圖如下:
代碼如下:
XML/HTML Code復制內(nèi)容到剪貼板
- <!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桌面通知' //通知的具體內(nèi)容
- });
- notify.onclick=function(){
- //如果通知消息被點擊,通知窗口將被激活
- window.focus();
- }
- });
- }
- </script>
- </body>
- </html>
以上內(nèi)容是小編給大家分享的HTML5實現(xiàn)Notification API桌面通知功能,希望對大家有所幫助!
原文:http://www.xttblog.com/?p=249
相關文章
Html5中的桌面通知Notification的實現(xiàn)
這篇文章主要介紹了Html5中的桌面通知Notification的實現(xiàn)的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-25- 這篇文章主要介紹了HTML5實現(xiàn)桌面通知 提示功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-10-11
html5桌面通知(Web Notifications)實例解析
這篇文章主要為大家介紹了html5桌面通知(Web Notifications)實例,對于進行html5網(wǎng)站建設非常有用!需要的朋友可以參考下2014-07-07突襲HTML5之Javascript API擴展5—其他擴展(應用緩存/服務端消息/桌面
前面已經(jīng)總結(jié)了主要的API擴展(應用緩存/服務端消息/桌面通知),下面的幾個只有在特定的場合才能發(fā)揮它的潛質(zhì),無一例外,IE均不支持,桌面通知目前只有Chrome支持,感興趣的朋2013-01-31HTML5中的Web Notification桌面通知功能的實現(xiàn)方法
這篇文章主要介紹了HTML5中的Web Notification桌面通知功能的實現(xiàn)方法,需要的朋友可以參考下2019-07-29