国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > HTML > 正文

html5 桌面提醒:Notifycations應(yīng)用介紹

2020-03-24 17:56:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
HTML5中的桌面提醒(web notifications)可以在當(dāng)前頁(yè)面窗口彈出一個(gè)消息框,這個(gè)消息框是跨 Tab 窗口的,這在用戶打開(kāi)多個(gè) tab 瀏覽網(wǎng)頁(yè)時(shí),提醒比較方便,容易讓用戶看到。目前只要是 webkit 內(nèi)核支持該功能。
該功能在 chrome 下需要以 http 方式打開(kāi)網(wǎng)頁(yè)才能啟用。
桌面提醒功能由 window.webkitNotifications 對(duì)象實(shí)現(xiàn)(webkit內(nèi)核)。
window.webkitNotifications 對(duì)象沒(méi)有屬性,有四個(gè)方法:
1.requestPermission()
該方法用于向用戶申請(qǐng)消息提醒權(quán)限,如果當(dāng)前沒(méi)有開(kāi)放該權(quán)限,瀏覽器將彈出授權(quán)界面,用戶授權(quán)后,在對(duì)象內(nèi)部產(chǎn)生一個(gè)狀態(tài)值(一個(gè)0、1或 2 的整數(shù)):
0:表示用戶同意消息提醒,只在該狀態(tài)下可以使用信息提醒功能;
1:表示默認(rèn)狀態(tài),用戶既未拒絕,也未同意;
2:表示用戶拒絕消息提醒。
2.checkPermission()
這個(gè)方法用于獲取 requestPermission() 申請(qǐng)到的權(quán)限的狀態(tài)值。
3.createNotification()
這個(gè)方法以純消息的方式創(chuàng)建提醒消息,它接受三個(gè)字符串參數(shù):
iconURL:在消息中顯示的圖標(biāo)地址,
title:消息的標(biāo)題,
body:消息主體文本內(nèi)容
該方法會(huì)返回一個(gè) Notification對(duì)象,可以針對(duì)這個(gè)對(duì)象做更多的設(shè)置。
Notification 對(duì)象的屬性與方法:

復(fù)制代碼代碼如下:
dir: ""
onclick: null
onclose: null
ondisplay: function (event) {
onerror: null
onshow: null
replaceId: ""
tag: ""
__proto__: Notification
addEventListener: function addEventListener() { [native code] }
cancel: function cancel() { [native code] }
close: function close() { [native code] }
constructor: function Notification() { [native code] }
dispatchEvent: function dispatchEvent() { [native code] }
removeEventListener: function removeEventListener() { [native code] }
show: function show() { [native code] }
__proto__: Object

dir:設(shè)置消息的排列方向,可取值為 auto (自動(dòng)), ltr (left to right), rtl (right to left)。
tag:為消息添加標(biāo)簽名。如果設(shè)置此屬性,當(dāng)有新消息提醒時(shí),標(biāo)簽相同的消息只顯示在同一個(gè)消息框,后一個(gè)消息框會(huì)替換先前一個(gè),否則出現(xiàn)多個(gè)消息提示框,但是最多值顯示3個(gè)消息框,超過(guò)3個(gè),后繼消息通知會(huì)被阻塞。
onshow:當(dāng)消息框顯示的時(shí)候觸發(fā)該事件;
onclick: 當(dāng)點(diǎn)擊消息框的時(shí)候觸發(fā)該事件;
onclose:當(dāng)消息關(guān)閉的時(shí)候觸發(fā)該事件;
onerror:當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候觸發(fā)該事件;
方法:
addEventListener removeEventListener:常規(guī)的添加和移除事件方法;
show:顯示消息提醒框;
close:關(guān)閉消息提醒框;
cancel:關(guān)閉消息提醒框,和 close一樣;
4.createHTMLNotification()
該方法與 createNotification() 不同的是,他以HTML方式創(chuàng)建消息,接受一個(gè)參數(shù): HTML 文件的URL,該方法同樣返回 Notification對(duì)象。
一個(gè)實(shí)例:

復(fù)制代碼代碼如下:
!DOCTYPE HTML
html
head
title notifications in HTML5 /title
/head
body
form
input id="trynotification" type="button" value="Send notification" /
/form
script type="text/javascript"
document.getElementById("trynotification").onclick = function(){
notify(Math.random());
};
function notify(tab) {
if (!window.webkitNotifications) {
return false;
}
var permission = window.webkitNotifications.checkPermission();
if(permission!=0){
window.webkitNotifications.requestPermission();
var requestTime = new Date();
var waitTime = 5000;
var checkPerMiniSec = 100;
setTimeout(function(){
permission = window.webkitNotifications.checkPermission();
if(permission==0){
createNotification(tab);
}else if(new Date()-requestTime waitTime){
setTimeout(arguments.callee,checkPerMiniSec);
}
},checkPerMiniSec);
}else if(permission==0){
createNotification(tab);
}
}
function createNotification(tab){
var showSec = 10000;
var icon = "http://tech.baidu.com/resource/img/logo_news_137_46.png";
var title = "[" + new Date().toLocaleTimeString() + "] close after " + (showSec/1000) + " seconds";
var body = "hello world, i am webkitNotifications informations";
var popup = window.webkitNotifications.createNotification(icon, title, body);
popup.tag = tab;
popup.ondisplay = function(event) {
setTimeout(function() {
event.currentTarget.cancel();
}, showSec);
}
popup.show();
}
/script
/body
/html
html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 礼泉县| 巫溪县| 莲花县| 柘荣县| 北流市| 蓝田县| 当涂县| 板桥市| 竹溪县| 昌宁县| 子洲县| 邛崃市| 海城市| 墨江| 武威市| 宣威市| 泰州市| 阳东县| 苏尼特右旗| 安阳县| 平遥县| 吉木乃县| 巴中市| 军事| 衡阳县| 黄山市| 喀喇沁旗| 兴义市| 周至县| 宝丰县| 郓城县| 大安市| 涿州市| 乌恰县| 铜陵市| 崇义县| 治县。| 罗源县| 包头市| 山东省| 迁西县|