成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 突襲HTML5之Javascript API擴(kuò)展5—其他擴(kuò)展(應(yīng)用緩存/服務(wù)端消息/桌面通知)

突襲HTML5之Javascript API擴(kuò)展5—其他擴(kuò)展(應(yīng)用緩存/服務(wù)端消息/桌面通知)

熱門標(biāo)簽:平頂山電子地圖標(biāo)注怎么修改 高德地圖標(biāo)注錯(cuò)誤怎么修改 搜狗星級(jí)酒店地圖標(biāo)注 電銷機(jī)器人視頻 會(huì)聲會(huì)影怎樣做地圖標(biāo)注效果 地圖標(biāo)注自己去過的地方 標(biāo)準(zhǔn)智能外呼系統(tǒng) 江蘇高頻外呼系統(tǒng)線路 洛陽市伊川縣地圖標(biāo)注中心官網(wǎng)
前面已經(jīng)總結(jié)了主要的API擴(kuò)展,下面幾個(gè)擴(kuò)展只有在專用的場合才會(huì)發(fā)揮最大的作用,這里簡單了解一下。下面這些特性無一例外,IE均不支持。應(yīng)用緩存和服務(wù)端消息在其他的主流瀏覽器中都是支持的。桌面通知目前只有Chrome支持。
應(yīng)用緩存
很多時(shí)候,我們需要緩存一些不經(jīng)常改變的頁面來提高訪問速度;而且對(duì)于某些應(yīng)用,我們也希望在離線的情況下也可以使用。在HTML5中,你可以通過一個(gè)稱之為“應(yīng)用緩存”的技術(shù)很方便的實(shí)現(xiàn)這些功能。
在應(yīng)用緩存的實(shí)現(xiàn)中,HTML5允許我們創(chuàng)建一個(gè)緩存manifest文件來方便的生成一個(gè)離線版的應(yīng)用。
實(shí)現(xiàn)步驟
1. 啟用頁面的緩存,很簡單,只需要在document的html中包含manifest屬性:

復(fù)制代碼
代碼如下:

<!DOCTYPE HTML>
<html manifest="demo.appcache">
...
</html>

每一個(gè)包含這個(gè)manifest屬性的頁面當(dāng)用戶訪問的時(shí)候都會(huì)被緩存。如果manifest屬性沒有指定的話,將不會(huì)緩存(除非網(wǎng)頁被直接在manifest文件中指定)。manifest文件擴(kuò)展名還沒有統(tǒng)一的標(biāo)準(zhǔn),推薦的擴(kuò)展名是".appcache"。
2. 服務(wù)器端配置manifest文件的MIME類型
一個(gè)manifest文件需要被正確的MIME-type支持,這種文件類型為"text/cache-manifest"。必須在所使用的web服務(wù)器上進(jìn)行配置。例如:Apache 中可在 .htaccess 中添加: AddType text/cache-manifest manifest。
3.編寫manifest文件
manifest文件是一個(gè)簡單的文本文件,告訴了瀏覽器去緩存什么內(nèi)容(或者不緩存什么內(nèi)容)。
manifest文件包含下面三個(gè)部分:
• CACHE MANIFEST - 在這個(gè)列表標(biāo)題下的文件將會(huì)在下載后被緩存。
• NETWORK - 在這個(gè)列表標(biāo)題下的文件將要求連接到服務(wù)器,不會(huì)進(jìn)行緩存。
• FALLBACK - 在這個(gè)列表標(biāo)題下的文件如果不能訪問時(shí),則顯示特定的頁面。
完整的一個(gè)文件如下面的例子所示:

復(fù)制代碼
代碼如下:

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
NETWORK:
login.asp
FALLBACK:
/html5/ /offline.html

提示:
#開頭的代表注釋。
*可以用表示所有的其它資源或者文件。例如:

復(fù)制代碼
代碼如下:

NETWORK:
*

表示所有的資源或者文件都不會(huì)緩存。
4.更新緩存
一旦一個(gè)應(yīng)用被緩存,它將保持緩存除非一下情況發(fā)生:
• 用戶刪除了緩存
• manifest文件被修改
• 應(yīng)用緩存被程序修改
所以一旦文件被緩存,除了人為的修改情況,瀏覽器將會(huì)持續(xù)的顯示緩存版本內(nèi)容,即使你修改了服務(wù)器文件。為了讓瀏覽器更新緩存,你只能去修改manifest文件。
:以"#"開始的行是注釋行,但是可以有其它用處。如果你的修改只涉及到一個(gè)圖片或者javascript功能,那些變化是不會(huì)被重新緩存的。在注釋中更新日期和版本是讓瀏覽器重新緩存你的文件的一個(gè)方法
:瀏覽器可以有很多不同大小限制的緩存數(shù)據(jù)(有些瀏覽器允許5M的緩存數(shù)據(jù))。

復(fù)制代碼
代碼如下:

<strong>服務(wù)端消息</strong>
還有一個(gè)經(jīng)常使用的場景是:當(dāng)服務(wù)端的數(shù)據(jù)發(fā)生變化時(shí),如何讓客戶端知道?這在以前的做法是:頁面主動(dòng)去查詢服務(wù)端是否有更新。根據(jù)前面的介紹,我們知道,使用WebSocket可以實(shí)現(xiàn)雙向通訊。這里再介紹另外一個(gè)HTML5中新特性:服務(wù)端消息(Server-Sent Events)。
在HTML5中,承載這項(xiàng)特性的對(duì)象是EventSource對(duì)象。
使用步驟如下:
1.檢查瀏覽器對(duì)EventSource對(duì)象的支持性,這個(gè)大家都知道了:


復(fù)制代碼
代碼如下:

if(typeof(EventSource)!=="undefined")
{
// Yes! Server-sent events support!
// Some code.....
}else {
// Sorry! No server-sent events support..
}

2.服務(wù)器端的發(fā)送消息代碼
服務(wù)器端的發(fā)送更新消息很簡單:設(shè)置content-type頭信息為”text/event-stream"后,你就可以發(fā)送事件。以ASP代碼為例:

復(fù)制代碼
代碼如下:

<%
Response.ContentType="text/event-stream"
Response.Expires=-1
Response.Write("data: >> 服務(wù)器時(shí)間" & now())
Response.Flush()
%>

3.瀏覽器端的接收消息代碼

復(fù)制代碼
代碼如下:

var source=new EventSource("demo_sse.php");
source.onmessage=function(event){
document.getElementById("result").innerHTML+=event.data + "
";
};

代碼說明:
• 創(chuàng)建一個(gè)EventSource對(duì)象,指定發(fā)送更新的頁面URL (這里是demo_see.jsp)
• 每一次一個(gè)更新接收后,onmessage事件就觸發(fā)
• 當(dāng)onmessage時(shí)間觸發(fā),將得到的數(shù)據(jù)設(shè)置到id="result"的元素中
EventSource對(duì)象除了onmessage事件外,還有處理錯(cuò)誤的onerror事件,連接建立的onopen事件等。
桌面通知 - 準(zhǔn)HTML5特性
桌面通知功能能夠讓瀏覽器即使是最小化狀態(tài)也能將消息通知給用戶。這和WebIM是最為天然的結(jié)合。不過,目前支持該特性的瀏覽器只有Chrome。彈窗是大家深惡痛絕的東西,所以開啟這項(xiàng)特性需要得到用戶的許可。

復(fù)制代碼
代碼如下:

<script>
function RequestPermission(callback) {
window.webkitNotifications.requestPermission(callback);
}
function showNotification() {
//通過window.webkitNotifications判斷瀏覽器是否支持notification
if (!!window.webkitNotifications) {
if (window.webkitNotifications.checkPermission() > 0) {
RequestPermission(showNotification);
} else {
var notification =window.webkitNotifications.createNotification("[imgurl]","Title","Body");
notification.ondisplay = function() {
setTimeout('notification.cancel()', 5000);
}
notification.show();
}
}
}
</script>

瀏覽器中打開此頁面,就會(huì)看到桌面的右下角彈出一個(gè)持續(xù)5秒鐘的消息窗口。
這項(xiàng)特性使用起來很簡單,但是在實(shí)際操作的過程中,應(yīng)該盡量減少通知功能對(duì)用戶的干擾,最大程度的減少通知功能的出現(xiàn)。
下面是網(wǎng)上高手做這個(gè)應(yīng)用的一些經(jīng)驗(yàn)
1. 收到多條消息時(shí)確保只出現(xiàn)一條通知;
這個(gè)問題比較好解決,因?yàn)橥ㄖ獙?duì)象擁有一個(gè)名為"replaceId"的屬性。指定該屬性后,只要是相同replaceId的通知窗口彈出,都會(huì)覆蓋之前彈出的窗口。在實(shí)際項(xiàng)目中是給所有的彈出窗口賦了一個(gè)相同的replaceId。不過需要注意的是,這種覆蓋行為只在同域下有效。
2. 當(dāng)用戶處于IM出現(xiàn)的頁面中時(shí)(頁面處于Focus狀態(tài))將不出現(xiàn)通知;
這個(gè)問題主要是在于判斷瀏覽器窗口是否處于Focus狀態(tài),目前除了監(jiān)聽window的onfocus和onblur事件之外,貌似沒有更好的方式。在項(xiàng)目中就是通過這種方式來記錄窗口的Focus狀態(tài),然后當(dāng)消息到達(dá)時(shí)根據(jù)Focus狀態(tài)來判斷是否彈出窗口。

復(fù)制代碼
代碼如下:

$(window).bind( 'blur', this.windowBlur).bind( 'focus', this.windowFocus);

使用該方法需要注意的地方是,事件注冊(cè)的事件點(diǎn)應(yīng)該盡可能的靠前,如果注冊(cè)太晚則當(dāng)用戶打開頁面后再離開就會(huì)很容易出現(xiàn)狀態(tài)的誤判。
3. 當(dāng)用戶使用多Tab開啟多個(gè)存在IM的頁面時(shí),只要有一個(gè)頁面處于Focus狀態(tài)將不出現(xiàn)通知;
多頁面間的狀態(tài)共享可以通過本地存儲(chǔ)來實(shí)現(xiàn):
• 瀏覽器窗口Focus時(shí)修改本地存儲(chǔ)中指定key的值為"focus"
• 瀏覽器窗口Blur時(shí)修改本地存儲(chǔ)中指定key的值為"blur"。
需要注意的是,Chrome下從一個(gè)Tab切換到另一個(gè)Tab時(shí),Blur有可能比Focus后寫入存儲(chǔ)中,因此修改Focus狀態(tài)時(shí)需要異步處理。

復(fù)制代碼
代碼如下:

/*window on focus事件*/
//用延時(shí)是為了解決多個(gè)Tab之間切換時(shí),始終讓Focus覆蓋其他Tab的Blur事件
//注: 如果在點(diǎn)擊Tab之前沒有Focus到document上則點(diǎn)擊Tab是不會(huì)觸發(fā)Focus的
setTimeout( function(){
Storage.setItem( 'kxchat_focus_win_state', 'focus' );
}, 100);
/*window on blur事件*/
Storage.setItem( 'kxchat_focus_win_state', 'blur' );

實(shí)現(xiàn)以上狀態(tài)共享后,新的消息到達(dá)后,只需要查看本地存儲(chǔ)中’kxchat_focus_win_state’的值是否為blur,如果為blur才彈出窗口。
4. 如何讓用戶點(diǎn)擊通知浮動(dòng)層即可定位到具體的聊天窗口
通知窗口支持onclick等事件響應(yīng),而響應(yīng)函數(shù)中的作用范圍屬于創(chuàng)建該窗口的頁面。如下代碼:

復(fù)制代碼
代碼如下:

var n = dn.createNotification(
img,
title,
content
);
//確保只有一個(gè)提醒
n.replaceId = this.replaceId;
n.onclick = function(){
//激活彈出該通知窗口的瀏覽器窗口
window.focus();
//打開IM窗口
WM.openWinByID( data );
//關(guān)閉通知窗口
n.cancel();
};

在onclick的響應(yīng)函數(shù)中訪問的window對(duì)象即屬于當(dāng)前創(chuàng)建頁面,因此可以很方便的與當(dāng)前頁面進(jìn)行交互。以上代碼便實(shí)現(xiàn)了點(diǎn)擊彈出窗口會(huì)跳轉(zhuǎn)到對(duì)應(yīng)的瀏覽器窗口和打開IM窗口。
:頁面中的相關(guān)事件很多時(shí)候具有不確定的時(shí)序性,所以我們的代碼盡量不要假設(shè)某些事件觸發(fā)的順序是一定的。比如上面的blur和focus事件

實(shí)用參考:
官方文檔:http://www.w3schools.com/html5/
html5的一個(gè)中文教程:http://www.gbin1.com/tutorials/html5-tutorial/

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《突襲HTML5之Javascript API擴(kuò)展5—其他擴(kuò)展(應(yīng)用緩存/服務(wù)端消息/桌面通知)》,本文關(guān)鍵詞  突襲,HTML5,之,Javascript,API,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《突襲HTML5之Javascript API擴(kuò)展5—其他擴(kuò)展(應(yīng)用緩存/服務(wù)端消息/桌面通知)》相關(guān)的同類信息!
  • 本頁收集關(guān)于突襲HTML5之Javascript API擴(kuò)展5—其他擴(kuò)展(應(yīng)用緩存/服務(wù)端消息/桌面通知)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美大片黄色| 成人午夜大片免费观看| 欧美一级艳片视频免费观看| 亚洲国产成人在线播放| 这里是久久伊人| va亚洲va日韩不卡在线观看| 日韩成人影视| 免费黄视频网站| 99精品在免费线中文字幕网站一区| 日韩欧美在线网址| 在线观看国产精品视频| 9.1片黄在线观看| 国内精品久久久久影院优| 综合国产精品| 一级美女在线| 噜噜噜久久,亚洲精品国产品| 精品一区在线播放| 女人黄色一级片| 欧美黑人一级爽快片淫片高清| 亚洲欧美日韩专区| 一级一片免费看| 在线播放av片| 国产美女在线免费观看| 成人免费aaa| 日韩中文字幕在线不卡| 鲁丝一区二区三区| 无码国产69精品久久久久网站| 中文字幕人妻色偷偷久久| 手机福利小视频在线播放| se视频在线观看| 久久久久xxxx| 国内自拍欧美| 性xxxx奶大欧美高清| 成人资源www网在线最新版| 91av视频在线观看| 国产免费一区二区三区在线能观看| 欧美综合视频| 欧美极度另类videos高清| 一级特黄aaaaaa大片| 波多野结衣黄色网址| 黑粗硬长欧美在线视频免费的| 精品国产一区久久| 中文字幕电影在线观看| 亚洲一区二区在线免费看| 日日狠狠久久| 在线观看中文字幕网站| 韩国成人av| 国产精品免费小视频| 欧美日韩日日夜夜| 日本国产一区二区三区| 少妇高潮一区二区三区69| 国产欧美精品aaaaaa片| 91丨国产丨九色丨pron| 国产suv精品一区二区33| 亚洲天堂网在线观看| 日日夜夜综合网| 国产成人精品a视频一区www| 在线视频一区二区三区在线播放| 又污又黄的网站| 亚洲а∨天堂久久精品2021| 欧美午夜片在线观看| 麻豆精品永久免费视频| 国产视频在线播放| h网站在线免费观看| 国模精品一区二区三区色天香| 亚洲精品免费av| 三区视频在线观看| theporn国产在线精品| 日本理论中文字幕| 国产盗摄x88av| 欧美性猛交xxxxx水多| 97在线视频免费观看| 激情久久中文字幕| 国产精品嫩草影院一区二区| 黄色免费一级视频| 国产精品第七十二页| 免费久久99精品国产| 国产精品99久久久久久似苏梦涵| 国产精品白丝jk喷水视频一区| 国产欧美日本一区视频| 一级毛片精品毛片| 欧美在线免费观看| 欧美少妇在线观看| yes4444视频在线观看| 日本不卡视频在线观看| 日本道精品一区二区三区| 91看片破解版| 91视频综合| 亚洲视频小说| 午夜精品久久久久久久男人的天堂| 国产精品欧美久久久久天天影视| 日本天堂影院在线视频| 欧美国产在线观看| 成人中文视频| 一区二区在线免费观看| 亚洲精品在线观看网站| 91在线一区二区| 国产一区二区三区久久悠悠色av| 久久久久久久久久成人| 欧美肉大捧一进一出免费视频| 色老头视频在线观看| 亚洲第一主播视频| 96av麻豆蜜桃一区二区| 香港三级韩国三级日本三级| 久久久久久日产精品| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲成人先锋电影| 91精品国产欧美一区二区18| 性欧美猛交videos| 蜜桃视频在线观看成人| 国产不卡的av| 日韩在线观看a| www视频网站| 午夜欧美一区二区三区免费观看| 缅甸午夜性猛交xxxx| 一级做a爰片性色毛片视频| 日韩成人av在线资源| 国产福利短视频| 欧美精品在线观看播放| 久久精品免费电影| av片在线观看| 欧美三级午夜理伦三级富婆| 亚洲精品免费在线视频| 18成年在线观看| 高清国语自产拍免费视频国产| 亚洲色图第一页| 久久av喷吹av高潮av| 天堂网在线最新版www中文网| 国产伦精品一区二区三区高清| 国产美女视频免费看| 成人午夜免费福利| 中文亚洲视频在线| 台湾亚洲精品一区二区tv| 醉酒壮男gay强迫野外xx| 无码无遮挡又大又爽又黄的视频| 无国产精品白浆是免费| 中文字幕无码乱码人妻日韩精品| 侵犯稚嫩小箩莉h文系列小说| 亚洲国产精品二区| 国产日韩欧美一区二区三区四区| 欧美成人精品一区二区男人小说| 在线视频超级| 91成人免费在线| 亚洲一区二区三区加勒比| 日本不卡视频一二三区| 免费在线观看成人av| 老司机精品视频一区二区三区| 在线观看视频二区| 精品国产麻豆| 青青草国产免费一区二区下载| 美女露出粉嫩尿囗让男人桶| 日韩欧美第二区在线观看| 中国精品一区二区| 久久精品一本| 欧美性猛交xxx| 亚洲人成精品久久久久久| 成人丝袜高跟foot| 97在线观视频免费观看| 国产美女高潮在线| 精品视频在线一区二区在线| 日韩的一区二区| 精品欧美视频| 欧美日韩黄色| 日韩免费视频一区二区视频在线观看| 国产成人免费在线观看| 久久精品久久精品国产大片| 欧美野外性xxxxfeexxxx| 热色播在线视频| 久久成人精品视频| 中文字幕亚洲精品一区| 日韩中文在线中文网三级| 青青草.com| 麻豆精品不卡国产免费看| 日本一区二区三区dvd视频在线| 日夜干在线视频| 国产精品福利一区| 在线看a视频| 26uuu欧美| 国产一区二区在线观看视频| 精品无码在线观看| 国产aⅴ夜夜欢一区二区三区| 自拍亚洲色图| 老司机aⅴ在线精品导航| 国产精品久久久国产盗摄| 蜜桃视频在线观看一区二区| 欧洲国内综合视频| 亚洲一区二区91| 成人在线免费公开观看视频| 欧美一级在线视频| 国产成人精品999在线观看| 在线免费电影网| 日本vs亚洲vs韩国一区三区| 男女无套免费网站| av中文字幕电影在线看| 粉嫩嫩av羞羞动漫久久久| xfplay5566色资源网站| 91精品国产自产拍在线观看蜜| 91成人精品一区二区| 久久精品久久国产| 成人全视频在线观看在线播放高清| 日韩av第一页| 九色视频在线观看免费播放| 日韩免费不卡av| 天天综合天天做天天综合| 久热久精久品这里在线观看| 福利片一区二区| 国产精品视频精品| 日韩激情一二三区| 日韩大片在线永久免费观看网站| 欧美黑人欧美精品刺激| 91精品国产综合久久小美女| 国内精品在线观看视频| 日韩vs国产vs欧美| 成人午夜大片免费观看| 成在在线免费视频| 99sesese| 成人毛片18女人毛片| 丰满的护士2在线观看高清| 天天综合网天天做天天受| 精产国产伦理一二三区| 亚洲欧美日韩国产另类专区| 久久精品国产欧美亚洲人人爽| 精品久久久久久亚洲综合网| 国产肥白大熟妇bbbb视频| 鲁丝一区鲁丝二区鲁丝三区| 麻豆亚洲av成人无码久久精品| 无码人妻aⅴ一区二区三区有奶水| 亚洲欧美另类中文字幕| 亚洲一区二区精品久久av| 影音先锋2020色资源网| 精品视频一区在线视频| 国产在线观看91| 丝袜国产日韩另类美女| 中文字幕有码热在线视频| 国产精品久久..4399| 丝袜美腿高跟呻吟高潮一区| 乌克兰美女av| 欧美mv日韩| 精品一区二区免费| 欧美性生交xxxxx久久久| 国产精品扒开腿做爽爽爽软件| 水蜜桃精品av一区二区| 亚洲日本精品视频| 天堂久久久久va久久久久| 欧美日韩国产精品一区二区不卡中文| se69色成人网wwwsex| 好吊视频一区二区三区四区| 痴汉一区二区三区| 97在线观看免费高| 亚洲精品7777| 亚洲欧美高清视频| 日本一区二区在线播放| 亚洲欧美日韩精品永久在线| 欧洲成人一区| 欧美精品一区二区久久久| 女海盗2成人h版中文字幕| 国产日韩精品一区二区三区在线| 欧美巨猛xxxx猛交黑人97人| 亚洲精品中文字幕乱码三区91| 日韩一区欧美小说| 国产二级一片内射视频播放| 一区二区三区免费视频播放器| 5278欧美一区二区三区| free性亚洲| 国产日韩在线看片| 欧美精品黑人性xxxx| 可以免费在线观看的av| 免费在线一区观看| 91a在线视频| 欧美中文字幕在线播放| 国产又粗又长又大视频| 国产性猛交╳xxx乱大交| 久久精品视频在线播放| 亚洲专区**| 国产一区二区精品在线观看| 蜜桃在线一区二区三区精品| 懂色av一区二区| 国产精品人人人人| 亚洲欧美制服中文字幕| 欧美精品情趣视频| 亚洲黄色av女优在线观看| 国产精品久久久亚洲第一牛牛| 麻豆mv在线观看| 亚洲最大的网站| 亚洲一区二区三区乱码aⅴ| 久久久999精品| 在线最新版中文在线| 欧美性xxxx极品高清hd直播| 刘亦菲久久免费一区二区| 国产对白国语对白| 日韩精品一区二区三区视频播放| 精品无码av无码免费专区| 欧美一区二视频在线免费观看| 久久久久久久| 日本边添边摸边做边爱的第三级| 久久99精品网久久| 国产三级在线看| 中文字幕视频精品一区二区三区| 日韩精品久久久久久久酒店| 精品国内片67194| 久久免费看毛片| 国产不卡av在线免费观看| 精品婷婷伊人一区三区三| 亚洲精品大尺度| 天堂av在线播放| 韩曰欧美视频免费观看| 韩日精品一区二区| 亚洲天堂视频在线播放| 午夜一区二区三区免费| 国产黄网在线观看| 日韩欧美国产一区二区三区| 黄网址在线播放免费| 午夜先锋成人动漫在线| 视频在线一区| 女生裸体视频网站免费观看| 中文资源在线官网| 91麻豆国产视频| 亚洲精品一区av在线播放| 秋霞成人影院| a毛片在线播放| 欧美成人午夜精品免费| 国产精品www.| 韩国女主播一区二区| 97视频在线看| 欧美第一页草草影院浮力| 波多野结衣久草一区| 免费av网站在线观看| 成人免费看黄网站|