js瀏覽器消息通知接口Notification

html:

<el-button type="primary" icon="el-icon-plus" @click="chromeMessageBtn">瀏覽器消息測(cè)試</el-button>

js:

     //瀏覽器消息推送
      chromeMessageBtn(){
        this.createNotify('測(cè)試通知',{body:'您收到一條新信息!',sticky:'true'})
      },
      createNotify(title,options) {
        var PERMISSON_GRANTED = 'granted';
        var PERMISSON_DENIED = 'denied';
        var PERMISSON_DEFAULT = 'default';
        if (Notification.permission === PERMISSON_GRANTED) {
          setTimeout( ()=> {
            this.notify(title,options);
          },3000)
        } else {
            Notification.requestPermission(function (res) {
                if (res === PERMISSON_GRANTED) {
                    this.notify(title,options);
                }
            });
        }
      },
      notify($title,$options) {
        var notification = new Notification($title, $options);
        notification.onshow = function(event){ console.log('show : ',event); }
        notification.onclose = function(event){ console.log('close : ',event); }
        notification.onclick = function(event){ 
            notification.close();
        }
        noticeFactionMsg.show()
      }
 
 
   //瀏覽器標(biāo)題閃爍通知 
    var noticeFactionMsg = {
      time: 0,
      title: document.title,
      timer: null,
      //顯示新消息提示
      show: function () {
          var title = noticeFactionMsg.title.replace("", "").replace("【您有新消息】", "");
          //定時(shí)器腥椒,此處產(chǎn)生閃爍
          //由于定時(shí)器無(wú)法清除,在此調(diào)用之前先主動(dòng)清除一下定時(shí)器打到緩沖效果,否則定時(shí)器效果疊加標(biāo)題閃爍頻率越來(lái)越快
          clearTimeout(noticeFactionMsg.timer);
          noticeFactionMsg.timer = setTimeout(function () {
              noticeFactionMsg.time++;
              noticeFactionMsg.show();
              if (noticeFactionMsg.time % 2 == 0) {
                  document.title = "【您有新消息】" + title
              } else {
                document.title = title
              };
          }, 300);
            return [noticeFactionMsg.timer, noticeFactionMsg.title];
        },
          //取消新消息提示
          //此處起名最好不要用clear困食,由于關(guān)鍵字問(wèn)題有時(shí)可能會(huì)無(wú)效
      clears: function () {
          clearTimeout(noticeFactionMsg.timer);
          document.title = noticeFactionMsg.title;
      }
    }
  window.document.addEventListener("mouseover", noticeFactionMsg.clears);

還在技術(shù)調(diào)研中,以上方法瀏覽器提示需要https連接翎承,可以先用localhost進(jìn)行測(cè)試硕盹。原文參考

控制臺(tái)

福音~(yú) 本地起前端服務(wù),將下面代碼粘貼到html文件中叨咖,網(wǎng)址用localhost訪(fǎng)問(wèn)就能看到桌面彈窗效果瘩例。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="https://cdn.jsdelivr.net/npm/vue"></script>
        <style>
            body{position: relative;}
            .notification {
                width: 200px;
                height: 50px;
                padding: 20px;
                line-height: 50px;
                text-align: center;
                background: #008800;
                border-radius: 5px;
                font-size: 30px;
                position: absolute;
                left: 45%;
                cursor: pointer;
            }
        </style>
    </head>

    <body>
        <div class="notification" @click="notifyMe()">notification</div>
    </body>
    <script type="text/javascript">
        var app = new Vue({
            el: '.notification',
            data: {},
            methods: {
                // permission 的類(lèi)型為 DOMString . 該屬性的可能值為:
                // granted: 用戶(hù)已經(jīng)明確的授予了顯示通知的權(quán)限。.
                // denied: 用戶(hù)已經(jīng)明確的拒絕了顯示通知的權(quán)限甸各。
                // default: 用戶(hù)還未被詢(xún)問(wèn)是否授權(quán); 這種情況下權(quán)限將視為 denied.
                notifyMe() {
                    // 先檢查瀏覽器是否支持
                    if(!("Notification" in window)) {
                        alert("This browser does not support desktop notification");
                    }

                    // 檢查用戶(hù)是否同意接受通知
                    else if(Notification.permission === "granted") {
                        var notification = new Notification("你好snowball:", {
                            dir: "auto",  //auto(自動(dòng)), ltr(從左到右), or rtl(從右到左)
                            lang: "zh",  //指定通知中所使用的語(yǔ)言垛贤。這個(gè)字符串必須在 BCP 47 language tag 文檔中是有效的。
                            tag: "testTag",  //賦予通知一個(gè)ID趣倾,以便在必要的時(shí)候?qū)νㄖM(jìn)行刷新南吮、替換或移除。
                            // icon: "http://api.dangmeitoutiao.com/_/boss/0/img/2018/02/12/20180212085006554.JPEG",  //提示時(shí)候的圖標(biāo)
                            body: "今天是個(gè)好天氣"  // 一個(gè)圖片的URL誊酌,將被用于顯示通知的圖標(biāo)部凑。
                        });
                    }

                    // 否則我們需要向用戶(hù)獲取權(quán)限
                    else if(Notification.permission !== 'denied') {
                        Notification.requestPermission(function(permission) {
                            // 如果用戶(hù)同意,就可以向他們發(fā)送通知
                            if(permission === "granted") {
                                var notification = new Notification("你好snowball:", {
                                    dir: "auto",  //auto(自動(dòng)), ltr(從左到右), or rtl(從右到左)
                                    lang: "zh",  //指定通知中所使用的語(yǔ)言碧浊。這個(gè)字符串必須在 BCP 47 language tag 文檔中是有效的涂邀。
                                    tag: "testTag",  //賦予通知一個(gè)ID,以便在必要的時(shí)候?qū)νㄖM(jìn)行刷新箱锐、替換或移除比勉。
                                    // icon: "http://api.dangmeitoutiao.com/_/boss/0/img/2018/02/12/20180212085006554.JPEG",  //提示時(shí)候的圖標(biāo)
                                    body: "今天是個(gè)好天氣"  // 一個(gè)圖片的URL,將被用于顯示通知的圖標(biāo)驹止。
                                });
                            }
                        });
                    }

                    // 最后浩聋,如果執(zhí)行到這里,說(shuō)明用戶(hù)已經(jīng)拒絕對(duì)相關(guān)通知進(jìn)行授權(quán)
                    // 出于尊重臊恋,我們不應(yīng)該再打擾他們了
                }
            }
        })
    </script>

</html>

方案二:
title部分輪播顯示字
【VUE】瀏覽器消息通知(聲音提醒衣洁,標(biāo)題欄閃動(dòng),彈框提醒)

如果本文對(duì)你有所幫助抖仅,感謝點(diǎn)一顆小心心坊夫,您的支持是我繼續(xù)創(chuàng)作的動(dòng)力砖第!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市环凿,隨后出現(xiàn)的幾起案子梧兼,更是在濱河造成了極大的恐慌,老刑警劉巖智听,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羽杰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡到推,警方通過(guò)查閱死者的電腦和手機(jī)考赛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)环肘,“玉大人,你說(shuō)我怎么就攤上這事集灌』诒ⅲ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵欣喧,是天一觀的道長(zhǎng)腌零。 經(jīng)常有香客問(wèn)我,道長(zhǎng)唆阿,這世上最難降的妖魔是什么益涧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮驯鳖,結(jié)果婚禮上闲询,老公的妹妹穿的比我還像新娘。我一直安慰自己浅辙,他們只是感情好扭弧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著记舆,像睡著了一般鸽捻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上泽腮,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天御蒲,我揣著相機(jī)與錄音,去河邊找鬼诊赊。 笑死厚满,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碧磅。 我是一名探鬼主播痰滋,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼摘能,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了敲街?” 一聲冷哼從身側(cè)響起团搞,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎多艇,沒(méi)想到半個(gè)月后逻恐,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡峻黍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年复隆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姆涩。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挽拂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骨饿,到底是詐尸還是另有隱情亏栈,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布宏赘,位于F島的核電站绒北,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏察署。R本人自食惡果不足惜闷游,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贴汪。 院中可真熱鬧脐往,春花似錦、人聲如沸扳埂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)聂喇。三九已至辖源,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間希太,已是汗流浹背克饶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留誊辉,地道東北人矾湃。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像堕澄,于是被迫代替她去往敵國(guó)和親邀跃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子霉咨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容