亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍

突襲HTML5之Javascript API擴展5—其他擴展(應用緩存/服務端消息/桌面通知)
來源:易賢網 閱讀:1808 次 日期:2016-07-22 14:45:23
溫馨提示:易賢網小編為您整理了“突襲HTML5之Javascript API擴展5—其他擴展(應用緩存/服務端消息/桌面通知)”,方便廣大網友查閱!

前面已經總結了主要的API擴展(應用緩存/服務端消息/桌面通知),下面的幾個只有在特定的場合才能發揮它的潛質,無一例外,IE均不支持,桌面通知目前只有Chrome支持,感興趣的朋友可以了解下,或許對你有所幫助

應用緩存

很多時候,我們需要緩存一些不經常改變的頁面來提高訪問速度;而且對于某些應用,我們也希望在離線的情況下也可以使用。在HTML5中,你可以通過一個稱之為“應用緩存”的技術很方便的實現這些功能。

在應用緩存的實現中,HTML5允許我們創建一個緩存manifest文件來方便的生成一個離線版的應用。

實現步驟:

1. 啟用頁面的緩存,很簡單,只需要在document的html中包含manifest屬性:

代碼如下:

<!DOCTYPE HTML>

<html manifest="demo.appcache">

...

</html>

每一個包含這個manifest屬性的頁面當用戶訪問的時候都會被緩存。如果manifest屬性沒有指定的話,將不會緩存(除非網頁被直接在manifest文件中指定)。manifest文件擴展名還沒有統一的標準,推薦的擴展名是".appcache"。

2. 服務器端配置manifest文件的MIME類型

一個manifest文件需要被正確的MIME-type支持,這種文件類型為"text/cache-manifest"。必須在所使用的web服務器上進行配置。例如:Apache 中可在 .htaccess 中添加: AddType text/cache-manifest manifest。

3.編寫manifest文件

manifest文件是一個簡單的文本文件,告訴了瀏覽器去緩存什么內容(或者不緩存什么內容)。

manifest文件包含下面三個部分:

• CACHE MANIFEST - 在這個列表標題下的文件將會在下載后被緩存。

• NETWORK - 在這個列表標題下的文件將要求連接到服務器,不會進行緩存。

• FALLBACK - 在這個列表標題下的文件如果不能訪問時,則顯示特定的頁面。

完整的一個文件如下面的例子所示:

代碼如下:

CACHE MANIFEST

# 2012-02-21 v1.0.0

/theme.css

/logo.gif

/main.js

NETWORK:

login.asp

FALLBACK:

/html5/ /offline.html

提示:

#開頭的代表注釋。

*可以用表示所有的其它資源或者文件。例如:

代碼如下:

NETWORK:

*

表示所有的資源或者文件都不會緩存。

4.更新緩存

一旦一個應用被緩存,它將保持緩存除非一下情況發生:

• 用戶刪除了緩存

• manifest文件被修改

• 應用緩存被程序修改

所以一旦文件被緩存,除了人為的修改情況,瀏覽器將會持續的顯示緩存版本內容,即使你修改了服務器文件。為了讓瀏覽器更新緩存,你只能去修改manifest文件。

:以"#"開始的行是注釋行,但是可以有其它用處。如果你的修改只涉及到一個圖片或者javascript功能,那些變化是不會被重新緩存的。在注釋中更新日期和版本是讓瀏覽器重新緩存你的文件的一個方法

:瀏覽器可以有很多不同大小限制的緩存數據(有些瀏覽器允許5M的緩存數據)。

代碼如下:

<strong>服務端消息</strong>

還有一個經常使用的場景是:當服務端的數據發生變化時,如何讓客戶端知道?這在以前的做法是:頁面主動去查詢服務端是否有更新。根據前面的介紹,我們知道,使用WebSocket可以實現雙向通訊。這里再介紹另外一個HTML5中新特性:服務端消息(Server-Sent Events)。

在HTML5中,承載這項特性的對象是EventSource對象。

使用步驟如下:

1.檢查瀏覽器對EventSource對象的支持性,這個大家都知道了:

代碼如下:

if(typeof(EventSource)!=="undefined")

{

// Yes! Server-sent events support!

// Some code.....

}else {

// Sorry! No server-sent events support..

}

2.服務器端的發送消息代碼

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

代碼如下:

<%

Response.ContentType="text/event-stream"

Response.Expires=-1

Response.Write("data: >> 服務器時間" & now())

Response.Flush()

%>

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

代碼如下:

var source=new EventSource("demo_sse.php");

source.onmessage=function(event){

document.getElementById("result").innerHTML+=event.data + "

";

};

代碼說明:

• 創建一個EventSource對象,指定發送更新的頁面URL (這里是demo_see.jsp)

• 每一次一個更新接收后,onmessage事件就觸發

• 當onmessage時間觸發,將得到的數據設置到id="result"的元素中

EventSource對象除了onmessage事件外,還有處理錯誤的onerror事件,連接建立的onopen事件等。

桌面通知 - 準HTML5特性

桌面通知功能能夠讓瀏覽器即使是最小化狀態也能將消息通知給用戶。這和WebIM是最為天然的結合。不過,目前支持該特性的瀏覽器只有Chrome。彈窗是大家深惡痛絕的東西,所以開啟這項特性需要得到用戶的許可。

代碼如下:

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

瀏覽器中打開此頁面,就會看到桌面的右下角彈出一個持續5秒鐘的消息窗口。

這項特性使用起來很簡單,但是在實際操作的過程中,應該盡量減少通知功能對用戶的干擾,最大程度的減少通知功能的出現。

下面是網上高手做這個應用的一些經驗:

1. 收到多條消息時確保只出現一條通知;

這個問題比較好解決,因為通知對象擁有一個名為"replaceId"的屬性。指定該屬性后,只要是相同replaceId的通知窗口彈出,都會覆蓋之前彈出的窗口。在實際項目中是給所有的彈出窗口賦了一個相同的replaceId。不過需要注意的是,這種覆蓋行為只在同域下有效。

2. 當用戶處于IM出現的頁面中時(頁面處于Focus狀態)將不出現通知;

這個問題主要是在于判斷瀏覽器窗口是否處于Focus狀態,目前除了監聽window的onfocus和onblur事件之外,貌似沒有更好的方式。在項目中就是通過這種方式來記錄窗口的Focus狀態,然后當消息到達時根據Focus狀態來判斷是否彈出窗口。

代碼如下:

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

使用該方法需要注意的地方是,事件注冊的事件點應該盡可能的靠前,如果注冊太晚則當用戶打開頁面后再離開就會很容易出現狀態的誤判。

3. 當用戶使用多Tab開啟多個存在IM的頁面時,只要有一個頁面處于Focus狀態將不出現通知;

多頁面間的狀態共享可以通過本地存儲來實現:

• 瀏覽器窗口Focus時修改本地存儲中指定key的值為"focus"

• 瀏覽器窗口Blur時修改本地存儲中指定key的值為"blur"。

需要注意的是,Chrome下從一個Tab切換到另一個Tab時,Blur有可能比Focus后寫入存儲中,因此修改Focus狀態時需要異步處理。

代碼如下:

/*window on focus事件*/

//用延時是為了解決多個Tab之間切換時,始終讓Focus覆蓋其他Tab的Blur事件

//注: 如果在點擊Tab之前沒有Focus到document上則點擊Tab是不會觸發Focus的

setTimeout( function(){

Storage.setItem( 'kxchat_focus_win_state', 'focus' );

}, 100);

/*window on blur事件*/

Storage.setItem( 'kxchat_focus_win_state', 'blur' );

實現以上狀態共享后,新的消息到達后,只需要查看本地存儲中’kxchat_focus_win_state’的值是否為blur,如果為blur才彈出窗口。

4. 如何讓用戶點擊通知浮動層即可定位到具體的聊天窗口

通知窗口支持onclick等事件響應,而響應函數中的作用范圍屬于創建該窗口的頁面。如下代碼:

代碼如下:

var n = dn.createNotification(

img,

title,

content

);

//確保只有一個提醒

n.replaceId = this.replaceId;

n.onclick = function(){

//激活彈出該通知窗口的瀏覽器窗口

window.focus();

//打開IM窗口

WM.openWinByID( data );

//關閉通知窗口

n.cancel();

};

在onclick的響應函數中訪問的window對象即屬于當前創建頁面,因此可以很方便的與當前頁面進行交互。以上代碼便實現了點擊彈出窗口會跳轉到對應的瀏覽器窗口和打開IM窗口。

頁面中的相關事件很多時候具有不確定的時序性,所以我們的代碼盡量不要假設某些事件觸發的順序是一定的。比如上面的blur和focus事件

更多信息請查看網頁制作
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網

亚洲免费不卡_在线视频精品_国产尤物精品_久久久久网址_久久精品91_欧美va天堂在线_狠狠入ady亚洲精品_亚洲午夜精品福利_国产精品草草_午夜精品久久99蜜桃的功能介绍
欧美一区不卡| 久久久999| 久久一区二区三区超碰国产精品| 亚洲欧美日韩国产一区| 久久精品亚洲| 韩国在线视频一区| 国产欧美高清| 女主播福利一区| 日韩一区二区免费看| 老司机午夜精品视频| 亚洲性人人天天夜夜摸| 免费久久久一本精品久久区 | 久久国产精品一区二区三区| 欧美91视频| 亚洲精品日韩久久| 欧美午夜视频| 久久精品男女| 亚洲精选成人| 欧美日一区二区三区在线观看国产免| 99综合在线| 影音先锋一区| 国产精品videosex极品| 欧美一区免费| 一区二区三区福利| 伊人天天综合| 国产精品v欧美精品∨日韩| 免费一区视频| 国产精品五区| 亚洲一区二区毛片| 亚洲一区二区三区高清| 亚洲精品激情| 激情欧美一区| 亚洲性感美女99在线| 欧美日韩18| 欧美另类一区| 国产精品mm| 亚洲天堂黄色| 亚洲激情国产| 日韩亚洲在线| 国产日韩精品视频一区二区三区| 亚洲欧洲日夜超级视频| 激情久久久久| 欧美韩日精品| 欧美日韩一区二区三区四区在线观看| 亚洲欧美日韩专区| 亚洲一区免费| 久久久综合网| 国产一区二区在线观看免费播放| 欧美日韩亚洲一区二区三区在线观看| 欧美精品一区二区三区在线看午夜 | 国产欧美日本| 亚洲综合另类| 欧美99久久| 好吊色欧美一区二区三区视频| 国内久久视频| 亚洲精品在线二区| 亚洲欧美电影在线观看| 久久精品女人天堂| 欧美日韩一区二区三| 亚洲成人直播| 亚洲伊人观看| 欧美一区1区三区3区公司 | 午夜精品国产| 欧美三级黄美女| 激情欧美一区二区三区| 欧美日韩一卡| 一本色道久久综合亚洲精品不| 一区二区激情| 欧美成人嫩草网站| 亚洲久久一区| 亚洲一区二区三区午夜| 可以看av的网站久久看| 国产在线视频欧美一区二区三区| 亚洲黄色毛片| 久久国产福利| 亚洲国产精品www| 香蕉久久夜色精品| 亚洲黄色影院| 欧美二区视频| 国产欧美一区二区三区国产幕精品| 久久国产福利| 亚洲看片一区| 国产精品v一区二区三区| 亚洲美女一区| 国产精品分类| 久久先锋资源| 国产伦精品一区二区三区照片91 | 在线观看成人av电影| 亚洲一区二区高清视频| 激情五月***国产精品| 午夜一区二区三区不卡视频| 亚洲福利av| 欧美日韩精品一本二本三本| 国产精品久久久久毛片大屁完整版 | 欧美久色视频| 性欧美xxxx大乳国产app| 亚洲国产专区校园欧美| 欧美日韩国产三区| 久久精品五月婷婷| 亚洲欧美国产不卡| 国产精品午夜av在线| 亚洲免费精品| 亚洲精品日韩在线观看| 亚洲第一在线| 最新国产乱人伦偷精品免费网站| 国产一区二区三区四区老人| 欧美另类专区| 国产一区激情| 亚洲视频免费| 亚洲国产精品第一区二区| 国产一区视频观看| 激情视频一区二区| 在线观看福利一区| 亚洲精品乱码久久久久久蜜桃91| 亚洲成色精品| 99亚洲视频| 国产精品推荐精品| 亚洲免费综合| 牛牛国产精品| 亚洲一级特黄| aa级大片欧美三级| 国产精品久久久久久久免费软件| 99综合在线| 亚洲综合首页| 欧美成人精品| 在线观看一区欧美| 国产亚洲一区在线播放| 久久国产日韩| 激情欧美日韩一区| 一区二区三区av| 久久国产精品久久w女人spa| 久久综合给合久久狠狠色| 欧美日韩国产精品一区二区亚洲 | 久久亚洲国产精品一区二区| 久久精品男女| 欧美日韩一区二区三区在线观看免| 国产精品v欧美精品∨日韩| 精品96久久久久久中文字幕无| 亚洲日韩视频| 久久五月激情| 亚洲午夜91| 国产伦精品一区二区三区视频黑人| 性欧美xxxx大乳国产app| 欧美福利视频| 国产精品美女黄网| 欧美久久99| 亚洲精品影院| 欧美成人嫩草网站| 一区二区冒白浆视频| 久久精品电影| 9色国产精品| 欧美三级视频| 午夜亚洲福利在线老司机| 欧美日韩另类综合| 亚洲一区二区三区高清| 伊人成人在线| 欧美女人交a| 国产精品三上| 亚洲欧洲视频| 国产精品av一区二区| 嫩草成人www欧美| 久久久久国内| 日韩视频一区| 国产日韩综合| 激情综合电影网| 欧美福利在线| 久久久久se| 国产乱人伦精品一区二区| 亚洲视频久久| 欧美精品一卡| 久久久精品性| 久久精品欧洲| 久久久久久穴| 麻豆av一区二区三区| 亚洲免费高清| 激情欧美日韩| 黄色成人在线网址| 国内精品99| 欧美欧美全黄| 欧美暴力喷水在线| 久久国产一二区| 亚洲一区中文| 亚洲欧美日韩国产综合精品二区 | 国产精品美女黄网| 99精品国产在热久久婷婷| 亚洲第一网站| 亚洲精品美女| 在线视频日韩| 亚洲影音一区| 久久亚洲综合网| 亚洲欧美一级二级三级| 午夜精品剧场| 狠狠88综合久久久久综合网| 欧美视频不卡| 亚洲激情啪啪| 国产精品区二区三区日本| 国产精品久久久亚洲一区| 国产精品乱码| 性色一区二区三区| 欧美成人一品| 激情丁香综合| 国产精品久久777777毛茸茸| 性一交一乱一区二区洋洋av| 欧美一区在线看| 红桃视频国产一区| 亚洲视频大全| 久久综合给合久久狠狠色| 国产一区美女| 国产精品久久久久久久久久直播| 欧美一级专区| 海角社区69精品视频| 国产欧美亚洲日本| 欧美1区视频| 99精品欧美一区二区三区| 性伦欧美刺激片在线观看| 欧美日韩伊人| 亚洲欧美激情诱惑| 黄色亚洲在线| 免费日韩av片| 亚洲毛片av| 午夜激情一区| 亚洲尤物精选| 亚洲经典视频在线观看| 欧美一区亚洲二区| 在线视频精品一区| 欧美日韩专区| 六月丁香综合| 制服诱惑一区二区| 欧美日韩伊人| 免费日韩av片| 一级成人国产| 激情婷婷欧美| 欧美另类视频在线| 美女黄色成人网| 99精品国产高清一区二区| 欧美久久一级| 久久婷婷国产综合尤物精品| 99香蕉国产精品偷在线观看| 国产精品v欧美精品v日韩| 久久久久久色| 久久黄色网页| 国产精品一区二区三区免费观看| 极品日韩av| 欧美网站在线| 欧美激情第8页| 久久国产毛片| 免费在线亚洲欧美| 亚洲永久字幕| 亚洲一区网站| 国产乱人伦精品一区二区| 99视频国产精品免费观看| 在线成人黄色| 一区在线观看| 影音先锋国产精品| 黄色成人精品网站| 国内外成人免费视频| 欧美一区亚洲| 欧美精品日韩| 欧美日韩国产免费观看| 午夜国产精品视频| 欧美精品激情| 国内精品嫩模av私拍在线观看| 欧美日本不卡| 欧美 日韩 国产在线| 久久久久99| 欧美成人免费在线| 欧美日韩一区二区三区在线观看免| 久久久久综合一区二区三区| 久久久福利视频| 欧美 日韩 国产一区二区在线视频| 久久精品三级| 欧美私人啪啪vps| 雨宫琴音一区二区在线| 99精品99久久久久久宅男| 国产欧美高清| 久久视频一区| 激情综合久久| 亚洲一区二区三区高清不卡| 久久综合九色综合欧美狠狠| 欧美久久视频| 99爱精品视频| 久久久久久久高潮| 国产精品v亚洲精品v日韩精品| 狠狠综合久久| 国产亚洲精品久久久久婷婷瑜伽| 性高湖久久久久久久久| 亚洲欧美综合一区| 99亚洲一区二区| 欧美高清视频一区| 99精品国产在热久久婷婷| 亚洲欧美bt| 国产精品porn| 亚洲免费婷婷| 国产精品九九| 亚洲尤物影院| 亚洲午夜精品福利| 久久国产高清| 亚洲黄网站黄| 欧美二区在线| 国产午夜精品一区二区三区欧美 | 欧美日韩天天操| 一区二区激情| 欧美日韩亚洲一区二区三区四区| 一本综合久久| 韩国亚洲精品| 欧美一区综合| 国产亚洲精品v| 精品动漫一区| 欧美日韩在线高清| 美女亚洲精品| 在线亚洲伦理| 亚洲第一伊人| 欧美三级视频| 欧美一区1区三区3区公司| 在线日本成人| 欧美日韩视频在线一区二区观看视频 | 欧美三区不卡| 亚洲欧美日韩国产一区| 亚洲国产国产亚洲一二三| 老色鬼久久亚洲一区二区| 国产精品视频福利| 99国产精品久久久久久久| 好吊色欧美一区二区三区四区| 久久久久se| 亚洲综合视频一区| 99综合精品| 亚洲日本无吗高清不卡| 韩日视频一区| 欧美午夜国产| 欧美精品91| 欧美激情自拍| 欧美日韩另类综合| 欧美日韩一视频区二区| 久久久777| 久久激情网站| 久久久久网址| 欧美91视频| 欧美激情偷拍| 黄色日韩精品| 亚洲人成人一区二区三区| 尤物精品在线| 日韩视频三区| 国产精品毛片一区二区三区 | 女女同性女同一区二区三区91 | 亚洲黄色一区| 在线亚洲精品| 免费一级欧美片在线播放| 久久xxxx| 欧美色一级片| 精品二区久久| 国产一区二区高清不卡| 性娇小13――14欧美| 久久五月天婷婷| 国产一区视频观看| 99国产精品久久久久久久| 亚洲一区二区三区色| 久久综合亚州| 黄色欧美成人| 国产精品亚洲产品| 久久天堂国产精品| 黄色av成人| 国产亚洲激情| 欧美精品啪啪| 99精品视频免费全部在线| 嫩草成人www欧美| 国产综合色产| 香蕉成人久久| 激情综合激情| 久久国产精品一区二区三区| 欧美午夜不卡| 国产精品夜夜夜一区二区三区尤| 狼狼综合久久久久综合网| 在线成人h网| 久久久精品网| 99re热精品| 国内精品久久久久久久97牛牛| 一区二区三区欧美成人| 欧美人成在线| 西西人体一区二区| 亚洲大片在线| 亚洲欧美综合| 亚洲欧美激情诱惑| 最新日韩av| 欧美日韩日本国产亚洲在线| 国产精品永久入口久久久| 国产一区观看| 久久一区视频| 国产伦精品一区二区三区视频孕妇| 欧美涩涩视频| 欧美一区二区三区四区夜夜大片| 99精品热6080yy久久| 狠狠入ady亚洲精品| 久久久久久9| 国产欧美一区二区三区另类精品| 欧美日本亚洲韩国国产| 国产九区一区在线| 亚洲清纯自拍| 永久久久久久| 精品福利av| 黄色精品网站|