Web程序的桌面提醒


做web開發常會面對的一個問題是,瀏覽器最小化的時候如何才能向用戶發送通知。解決辦法大概有三種:讓用戶有事沒事兒摟兩眼頁面;開發一個桌面客戶端;Html5的Notification API。
目前沒看到誰采用第一種方案;Yammer采用的是第二種,但僅僅為了這么個小功能,搞個客戶端,還得讓用戶安裝,不划算。
Html5的Notification API各大瀏覽器所支持的程度不一樣,使用的話需要考慮瀏覽器的兼容性。有人看到了這一點,折騰出了一個小巧的桌面提醒庫:HTML5  Desktop Notifications。支持的瀏覽器有:IE9+、Safari6、Firefox、Chrome。
值得一提的是,在IE中需要特殊處理一下才能使用桌面通知:打開鏈接 -> 拖動地址欄中的圖表附加到任務欄。

使用

1、引入js腳本:<script type="text/javascript" src="desktop-notify-min.js"></script>
2、驗證瀏覽器是否支持桌面通知:notify.isSupported;
      true:支持; false:不支持。
3、驗證瀏覽器是否允許桌面通知:notify.permissionLevel();
      返回值:notify.PERMISSION_GRANTED :沒有開啟,此時可以調用notify.requestPermission(callback)向用戶請求桌面通知的權限。
                     notify.PERMISSION_DEFAULT:已經開啟。
                     notify.PERMISSION_DEFAULT:不允許桌面通知。
4、產生桌面提醒:notify.createNotification()
      此方法的第一個參數傳遞標題,第二個參數是一個json對象{body:"Body", icon: "alert.ico",tag:"tag"}.
      返回值是一個通知對象,可以調用該對象的close()方法,關閉桌面通知。

各個瀏覽器的顯示效果

以下圖片來自官方文檔

IE9
chrome
 
safari


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM