chrome 通知功能使用實踐


/**
 * 提示啓用通知功能
 */
function allowNotice() {
	if (window.webkitNotifications) {
		window.webkitNotifications.requestPermission();
	}else{
		alert('放棄');
	}
}

/**
 * 桌面通知
 * @param {Object} imgURL
 * @param {Object} audioURL
 * @param {Object} title
 * @param {Object} body
 */
function notify(imgURL, audioURL, title, body) {
	if (window.webkitNotifications) {
		if (window.webkitNotifications.checkPermission() == 0) {
			imgURL = imgURL || '/images/logo.jpg';
			audioURL = audioURL || '/images/beep.mp3';
			var img = new Image();
			img.src = imgURL;
			
			var msgWindow = window.webkitNotifications.createNotification(img.src, title, body);
			new Audio(audioURL).play();
			setTimeout(function(){
				msgWindow.cancel();  //這裏也可以使用cancel方法
			}, 10000);
			msgWindow.show();
        } else {
			window.webkitNotifications.requestPermission();
			return;
		}
	}else{
		if(window.Notification) {
			if (!(!!window.Notification && window.Notification.permission === "denied")) {
				imgURL = imgURL || '/images/logo.jpg';
				audioURL = audioURL || '/images/beep.mp3';
				var img = new Image();
				img.src = imgURL;
				var notify = new Notification(
			            title,
			            {
			            	icon : imgURL,
			                //tag : title,
			                body : body
			            });
				new Audio(audioURL).play();
				//for (var i in notify) document.writeln(i + ' : ' + notify[i]);
				setTimeout(function(){
					notify.close();
				}, 10000);
				notify.onclick = function(event){
					//location.href = "/wxbackend/Order/orderList";
					//window.open('/wxbackend/Order/orderList');
			        notify.close();
			    };
			}else{
				alert("請啓用瀏覽器的訂單通知功能");
			}
		}else{
			alert("瀏覽器不支持訂單通知");
		}
	}
}
/*if(img.complete) {
    alert('該圖片已經存在於緩存之中,不會再去重新下載');
}else{
    alert('圖片不存在緩存之中');
    img.onload = function() {
        alert('圖片下載成功!');
    }
}
var msg = new Audio('/images/beep.mp3');
for(var i in msg) document.write(i + ' : ' + msg[i] + '<br>');*/

/**
 * 訂單提醒
 * @param {Object} flag
 */
function orderNotice(flag, imgURL, audioURL){
	url = flag == 1 ? '/wxbackend/order/OrderNotice/flag/1' : '/wxbackend/order/OrderNotice';
	$.post(url,function(data){
		if(data != ''){
			var jsonData = JSON.parse(data);
			var body = '新訂單' + jsonData.new_orders + ' 即將發貨的訂單' + jsonData.new_orders_ship;
			notify(imgURL, audioURL,'訂單通知',body);
			/*var ship_order = jsonData.ship_order_id;
			for (var i = 0; i < ship_order.length; i++)
				document.getElementById('orderID'+ship_order[i]).setAttribute('class','danger');*/
		}
	}, 'text');
}

發佈了101 篇原創文章 · 獲贊 11 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章