如何實現HTML5 Notification 桌面推送(無需域名)
阿新 • • 發佈:2021-02-07
之前涉及到要做B/S架構的 瀏覽器windows桌面的訊息提醒,然後在網上找到了Notification的訊息推送。發現這類的文章挺少的,故此寫下來包裝了一下方法記錄一下以後用,參考知乎大佬的文章:
原文連結:
https://zhuanlan.zhihu.com/p/133128563
前端JS程式碼如下:
function spawnNotification(theBody, theIcon, theTitle) { //debugger //更多的屬性請自行百度 我這裡只用到了:正文內容,圖示,推送標題 let options = { body: theBody, icon: theIcon } // 先檢查瀏覽器是否支援 if (!('Notification' in window)) { // IE瀏覽器不支援傳送Notification通知! } else { if (Notification.permission !== 'denied') { //判斷是否授權,沒授權先授權在通知 Notification.requestPermission(function (permission) { // 如果使用者同意,就可以向他們傳送通知 if (permission === 'granted') { let n = new Notification(theTitle, options); } }); } else { //已授權直接通知 let n = new Notification(theTitle, options); } } }
如果使用者初次訪問你的頁面,左上角會彈出
點選允許以後,預設再也不會提示;
注意:我使用的是谷歌瀏覽器,Notification對IE不相容,360瀏覽器相容不友好,但這種無需域名的方式還是很便捷的。