當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JavaScript 兼容新旧版chrome和firefox的桌面通知
生活随笔
收集整理的這篇文章主要介紹了
JavaScript 兼容新旧版chrome和firefox的桌面通知
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.新/舊版本的chrome和firefox都可支持,IE下不支持因此設(shè)置為了在最小化窗口處閃爍顯示提示文字。
2.設(shè)置為提示窗口顯示5秒即關(guān)閉。
3.可設(shè)置圖標(biāo)和點(diǎn)擊提示窗口要跳轉(zhuǎn)到的頁(yè)面(見(jiàn)輸入?yún)?shù))。
?
var timer = null, title = $('title').text(); $('body').on('click', function() { clearInterval(timer); $('title').text(title); }); function showMsgNotification(title, msg , iconUrl ,clickUrl) { var Notification = window.Notification || window.mozNotification || window.webkitNotification; if (window.webkitNotifications) { //chrome老版本 if (window.webkitNotifications.checkPermission() == 0) { var notif = window.webkitNotifications.createNotification(iconUrl, title, msg); notif.display = function() {setTimeout(function() {notif.close();}, 5000);} notif.onerror = function() {} notif.onclose = function() {} notif.onclick = function() {window.focus();window.location.href = clickUrl;} notif.replaceId = 'Meteoric'; notif.show(); } else { window.webkitNotifications.requestPermission($jy.notify); } }else if(Notification) {//支持桌面通知 if(Notification.permission == "granted") {//已經(jīng)允許通知 var instance = new Notification(title, { body: msg, icon: iconUrl //renotify : true }); instance.onclick = function() { //$('body').css({'background': 'red'}); //console.log('onclick'); window.focus();window.location.href = clickUrl;//window.open(clickUrl, "_blank"); }; instance.onerror = function() { //console.log('onerror'); }; instance.onshow = function() { setTimeout(function() {instance.close();}, 5000);}; instance.onclose = function() { //console.log('onclose'); }; }else {//第一次詢問(wèn)或已經(jīng)禁止通知(如果用戶之前已經(jīng)禁止顯示通知,那么瀏覽器不會(huì)再次詢問(wèn)用戶的意見(jiàn),Notification.requestPermission()方法無(wú)效) Notification.requestPermission(function(status) { if (status === "granted") {//用戶允許 var instance = new Notification(title, { body: msg, icon: iconUrl }); instance.onclick = function() { window.focus();window.location.href = clickUrl;}; instance.onerror = function() { // Something to do }; instance.onshow = function() { // Something to do }; instance.onclose = function() { // Something to do }; }else {//用戶禁止 return false; } }); } }else {//不支持(IE等) var index = 0; clearInterval(timer); timer = setInterval(function() { if(index%2) { $('title').text('【 】'+ title);//這里是中文全角空格,其他不行 }else { $('title').text('【快訊】'+ title); } index++; if(index > 20) { clearInterval(timer); } }, 500); } }?
轉(zhuǎn)載于:https://www.cnblogs.com/xcxcxcxc/p/6515896.html
總結(jié)
以上是生活随笔為你收集整理的JavaScript 兼容新旧版chrome和firefox的桌面通知的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JAVA 8 新日期和时间API 学习总
- 下一篇: 插入排序Insertion sort 2