濮阳杆衣贸易有限公司

主頁 > 知識庫 > html5 桌面提醒:Notifycations應用介紹

html5 桌面提醒:Notifycations應用介紹

熱門標簽:江蘇高頻外呼系統(tǒng)線路 電銷機器人視頻 平頂山電子地圖標注怎么修改 搜狗星級酒店地圖標注 高德地圖標注錯誤怎么修改 洛陽市伊川縣地圖標注中心官網 地圖標注自己去過的地方 會聲會影怎樣做地圖標注效果 標準智能外呼系統(tǒng)
HTML5中的桌面提醒(web notifications)可以在當前頁面窗口彈出一個消息框,這個消息框是跨 Tab 窗口的,這在用戶打開多個 tab 瀏覽網頁時,提醒比較方便,容易讓用戶看到。目前只要是 webkit 內核支持該功能。
該功能在 chrome 下需要以 http 方式打開網頁才能啟用。
桌面提醒功能由 window.webkitNotifications 對象實現(webkit內核)。
window.webkitNotifications 對象沒有屬性,有四個方法:
1.requestPermission()
  該方法用于向用戶申請消息提醒權限,如果當前沒有開放該權限,瀏覽器將彈出授權界面,用戶授權后,在對象內部產生一個狀態(tài)值(一個0、1或 2 的整數):
0:表示用戶同意消息提醒,只在該狀態(tài)下可以使用信息提醒功能;
1:表示默認狀態(tài),用戶既未拒絕,也未同意;
2:表示用戶拒絕消息提醒。
2.checkPermission()
  這個方法用于獲取 requestPermission() 申請到的權限的狀態(tài)值。
3.createNotification()
  這個方法以純消息的方式創(chuàng)建提醒消息,它接受三個字符串參數:
iconURL:在消息中顯示的圖標地址,
title:消息的標題,
body:消息主體文本內容
該方法會返回一個 Notification對象,可以針對這個對象做更多的設置。
Notification 對象的屬性與方法:

復制代碼
代碼如下:

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

復制代碼
代碼如下:

<!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>

標簽:廣西 鄂爾多斯 常德 果洛 松原 蚌埠 廣東 阿克蘇

巨人網絡通訊聲明:本文標題《html5 桌面提醒:Notifycations應用介紹》,本文關鍵詞  html5,桌面,提醒,Notifycations,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《html5 桌面提醒:Notifycations應用介紹》相關的同類信息!
  • 本頁收集關于html5 桌面提醒:Notifycations應用介紹的相關信息資訊供網民參考!
  • 推薦文章
    繁峙县| 通道| 阜城县| 阳新县| 高陵县| 霍林郭勒市| 大同市| 苍溪县| 泸西县| 娱乐| 威海市| 徐水县| 安岳县| 扎鲁特旗| 白河县| 即墨市| 定日县| 绥江县| 房产| 黑河市| 孟津县| 南川市| 锦州市| 望城县| 东阿县| 师宗县| 清镇市| 梅州市| 叙永县| 兴义市| 赣州市| 扶沟县| 依安县| 左贡县| 黄大仙区| 穆棱市| 社旗县| 内乡县| 绥中县| 建宁县| 泽库县|