Notification 桌面通知

前幾天,我們做了個(gè)小項(xiàng)目,然后去答辯。老師說(shuō)能不能在Web端加一個(gè)通知信息的東西,比方說(shuō),我上傳了新的文件上去,你們就能及時(shí)收到通知,知道班里有人上傳新的文件了。我就想起facebook的桌面通知,所以就嘗試著寫起了demo

Notification 是什么?

簡(jiǎn)單的說(shuō)就是瀏覽器上的桌面通知。如下圖:

Notification就長(zhǎng)這樣!

怎么用 Notification

  • 語(yǔ)法

let notification = new Notification(title, [options])

title: 必要的通知標(biāo)題

options: {
    body: 通知的主要內(nèi)容
    icon: 通知的中圖標(biāo)
    dir: 文字的方向
    tag: 給予通知一個(gè) id
    data: 返回一個(gè)數(shù)據(jù)對(duì)象
    ...
}

事件:onclick, onerror, onclose, onshow
  • 權(quán)限詢問(wèn)
  if (!("Notification" in window)) {
    console.log("你的瀏覽器不支持桌面通知");
  } else if (Notification.permission === "granted") {
      console.log('用戶允許桌面通知')
      var notification = new Notification('這是個(gè)新通知');
  } else if (Notification.permission !== "denied") {
    Notification.requestPermission(function (permission) {
      if (permission === "granted") {
        var notification = new Notification('這是個(gè)新通知');
      }
    });

上面這段代碼的邏輯大概就是這樣:

  • 首先判斷瀏覽器是不是支持通知
  • 然后判斷用戶是不是允許桌面通知:granted(允許) denied(拒絕)
  • 如果用戶既沒(méi)有允許,也沒(méi)有拒絕,那么我們就進(jìn)行權(quán)限詢問(wèn)

Notification demo

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容