a毛片毛费观看-a毛片在线-a毛片在线观看-a毛片在线免费观看-国产成人综合洲欧美在线-国产成人综合高清在线观看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

HTML5初學(xué)者使用Application Cache指南

發(fā)布時(shí)間:  2012/7/24 9:25:09

對(duì)于web app來說,離線應(yīng)用功能已經(jīng)越來越重要。誠(chéng)然,瀏覽器本身就有緩存機(jī)制,但是,這些緩存機(jī)制不夠可靠,可能并不會(huì)按你所想要的方式運(yùn)行。HTML5則通過ApplicationCache接口處理了離線應(yīng)用中的一些問題。

 使用這個(gè)接口讓你的應(yīng)用擁有三方面的優(yōu)勢(shì):

  1. 離線瀏覽——用戶在不能聯(lián)網(wǎng)的時(shí)候依然能瀏覽整個(gè)站點(diǎn)
  2. 高速——緩存資源是存儲(chǔ)在本地的,因此能更快加載。
  3. 更小的服務(wù)器負(fù)載——瀏覽器只需要從服務(wù)器端下載有改變的資源即可,相同資源不需要重復(fù)下載。

Application Cache(或 AppCache)讓一個(gè)開發(fā)者可以指定瀏覽器需要保存哪個(gè)文件。當(dāng)用戶在離線情況下時(shí),即使他們按了刷新按鈕,你的應(yīng)用也能正確加載和工作。

CACHE MANIFEST 文件

cache manifest文件是一個(gè)簡(jiǎn)單的文本文件,其中列出了瀏覽器需要緩存的資源。

引用一個(gè)MANIFEST文件

為了讓一個(gè)應(yīng)用能啟用application cache,需要在文檔的html標(biāo)簽中包含manifest屬性,如下所示:

<html manifest=”example.appcache”>

  …

</html>

你需要在你想要緩存的web app的每一頁(yè)中都包含 manifest 屬性。如果一個(gè)頁(yè)面沒有 manifest屬性,它將不會(huì)被緩存(除非在manifest文件中顯式指定了這個(gè)頁(yè)面)。這意味著只要用戶訪問的頁(yè)面包含manifest屬性,它都將會(huì)被加入application cache中。這樣,就不用在manifest文件中指定需要緩存哪些頁(yè)面了。

Manifest屬性可以指定一個(gè)絕對(duì)URL或是一個(gè)相對(duì)路徑,但是,一個(gè)絕對(duì)URL需要和web app是同源的。一個(gè)manifest文件可以是任何擴(kuò)展文件類型,但必須有正確的mime-type。如下所示:

<html manifest=”http://www.example.com/example.mf”>

  …

</html>

一個(gè)manifest文件需要正確的mime-type,即text/cache-manifest。你可以在你的web服務(wù)器中加入一個(gè)定制文件類型(a custom file type),或者加入一個(gè) .htaccess 配置。

例如,為了在Apache中能夠解析這種mime-type,可以在你的配置文件中加入如下代碼:

AddType text/cache-manifest .appcache

或者,如果你的應(yīng)用是在Google App Engine中,那么在app.yaml文件中加入代碼:

- url: /mystaticdir/(.*\.appcache)

  static_files: mystaticdir/\1

  mime_type: text/cache-manifest

  upload: mystaticdir/(.*\.appcache)

MANIFEST FILE的結(jié)構(gòu)

一個(gè)簡(jiǎn)單的manifest文件看起來可能是下面這樣的:

CACHE MANIFEST

index.html

stylesheet.css

images/logo.png

scripts/main.js

這個(gè)示例將會(huì)緩存指定使用這個(gè)manifest的頁(yè)面中的四個(gè)文件。

有幾點(diǎn)是需要注意的:

  • 必須在第一行包括 CACHE MANIFEST 字符串。
  • 站點(diǎn)所能緩存的數(shù)據(jù)上限是5MB 。但是,如果你是在為Chrome Web Store做開發(fā)的話,你可以使用unlimitedStorage  來去除這個(gè)限制。
  • 如果manifest文件或者是其中指定的某個(gè)資源下載失敗的話,整個(gè)cache的更新都會(huì)失敗。在這種情況下,瀏覽器將會(huì)使用老的application cache。

下面來看一個(gè)更復(fù)雜的例子:

CACHE MANIFEST

# 2010-06-18:v2

# Explicitly cached ‘master entries’.

CACHE:

/favicon.ico

index.html

stylesheet.css

images/logo.png

scripts/main.js

# Resources that require the user to be online.

NETWORK:

login.php

/myapi

http://api.twitter.com

# static.html will be served if main.py is inaccessible

# offline.jpg will be served in place of all images in images/large/

# offline.html will be served in place of all other .html files

FALLBACK:

/main.py /static.html

images/large/ images/offline.jpg

*.html /offline.html

以“#”開頭的都是注釋,這些注釋還可以起到另外的作用。一個(gè)應(yīng)用只有在manifest文件發(fā)生變化時(shí)才會(huì)更新cache。例如,如果你編輯了圖像或是改寫了一個(gè)Javascript函數(shù),cache并不會(huì)發(fā)生更新。你必須改寫manifest文件本身來通知瀏覽器需要更新cache文件了。通過在manifest文件中添加一行注釋,在其中寫上版本號(hào),或者文件hash值,或者時(shí)間戳,你都可以確保用戶擁有你的軟件的最新版本。如果有新版本出現(xiàn),你同樣可以以編程的方式更新cache,就跟在Updating the cache 中所討論的那樣。

一個(gè)manifest文件可能包括三個(gè)部分:CACHE, NETWORK 以及 FALLBACK.

CACHE:

這是默認(rèn)部分,列在這個(gè)條目下的文件(或者緊跟在CACHE MANIFEST字符串之后的)都會(huì)在第一次被下載后進(jìn)入cache。

NETWORK:

這一部分中所列出的資源都是需要聯(lián)網(wǎng)使用的資源。它們都不會(huì)進(jìn)入cache中,即使用戶處于離線狀態(tài)。這部分可能會(huì)使用Wildcards。

FALLBACK:

可選部分,指定了如果資源獲取失敗,將會(huì)呈現(xiàn)怎樣的頁(yè)面。第一個(gè)URL是資源,第二個(gè)就是fallback頁(yè)面。兩個(gè)URL都必須是相對(duì)地址,并且由同一個(gè)manifest文件指定。可以使用Wildcards。

注意:這三部分可以以任何順序在manifest文件中出現(xiàn),并且每部分都可以在一個(gè)manifest文件中出現(xiàn)多次。

下面的manifest文件定義了一個(gè)“catch-all”頁(yè)面(offline.html),這個(gè)頁(yè)面將會(huì)在用戶試圖離線訪問網(wǎng)站根節(jié)點(diǎn)時(shí)顯示。它還指明了需要聯(lián)網(wǎng)使用的其他資源(如遠(yuǎn)程站點(diǎn)上的資源)。

CACHE MANIFEST

# 2010-06-18:v3

# Explicitly cached entries

index.html

css/style.css

# offline.html will be displayed if the user is offline

FALLBACK:

/ /offline.html

# All other resources (e.g. sites) require the user to be online.

NETWORK:

*

# Additional resources to cache

CACHE:

images/logo1.png

images/logo2.png

images/logo3.png

注意:引用了你的manifest文件的HTML文件都會(huì)自動(dòng)被緩存,因此,沒有必要在你的manifest文件中再指定這個(gè)文件,但是,在manifest文件中指定這個(gè)文件是一種更好的做法。

注意:頁(yè)面上基于SSL的HTTP cache headers以及caching restrictions都會(huì)被cache manifests重寫。因此,基于https的頁(yè)面也能離線工作。

更新緩存(CACHE)

如果一個(gè)應(yīng)用是在離線情況下,那么它會(huì)保持它的緩存狀態(tài),除非有以下事件發(fā)生:

  1. 用戶清除了瀏覽器中存儲(chǔ)有你的站點(diǎn)的數(shù)據(jù)。
  2. manifest file 被修改了。注意:修改了在manifest文件中列出的某個(gè)文件并不會(huì)讓瀏覽器重新緩存資源。必須是manifest文件本身改變了,才會(huì)重新進(jìn)行緩存。
  3. app cache通過編程更新了。

緩存狀態(tài)CACHE STATUS

在程序中,你可以通過window.applicationCache 對(duì)象來訪問瀏覽器的app cache。你可以查看 status 屬性來獲取cache的當(dāng)前狀態(tài):

var appCache = window.applicationCache;

switch (appCache.status) {

  case appCache.UNCACHED: // UNCACHED == 0

    return ‘UNCACHED’;

    break;

  case appCache.IDLE: // IDLE == 1

    return ‘IDLE’;

    break;

  case appCache.CHECKING: // CHECKING == 2

    return ‘CHECKING’;

    break;

  case appCache.DOWNLOADING: // DOWNLOADING == 3

    return ‘DOWNLOADING’;

    break;

  case appCache.UPDATEREADY:  // UPDATEREADY == 4

    return ‘UPDATEREADY’;

    break;

  case appCache.OBSOLETE: // OBSOLETE == 5

    return ‘OBSOLETE’;

    break;

  default:

    return ‘UKNOWN CACHE STATUS’;

    break;

};

為了通過編程更新cache,首先調(diào)用 applicationCache.update()。這將會(huì)試圖更新用戶的cache(要求manifest文件已經(jīng)改變)。最后,當(dāng) applicationCache.status 處于 UPDATEREADY 狀態(tài)時(shí),調(diào)用applicationCache.swapCache(),舊的cache就會(huì)被置換成新的。


本文出自:億恩科技【www.ibaoshan.net】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問:河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線

     
     
    欧美亚洲一区二区三区| 中文字幕一区二区三区乱码| 欧美猛少妇色XXXXX猛叫| 国产精品无码专区在线播放| 中国农村熟妇性视频| 污污污污污WWW网站免费| 美女爆乳裸体WWW免费网站| 国产精品后入内射日本在线观看 | 国产国拍亚洲精品MV在线观看| 伊在人亚洲香蕉精品区麻豆| 天天爽夜夜爽人人爽QC| 免费无码又爽又刺激激情视频| 国产日产欧产精品精品AI| AV无码久久久久不卡免费网站| 亚洲AV无码成人影院一尤物区| 人妻少妇精品久久| 精品熟女少妇A∨免费久久| 第一次挺进苏雨萌| 一对浑圆的胸乳被揉捏| 污污内射久久一区二区欧美日韩| 女上男下啪啪激烈高潮无遮盖| 国精品人妻无码一区免费视频电影| YY111111少妇影院无码老司机| 亚洲日韩欧美成人一区二区三区 | 午夜A级理论片在线播放琪琪| 欧美黑人又大又粗又长久久久| 99久久国产综合精品女| 亚洲AV成人午夜在线看见网站| 秋霞鲁丝片AⅤ无码入口| 国产精品免费AV片在线观看 | 国产精品自在拍首页视频8| 985大学排名一览表| 亚洲成AV不卡无码无码不卡 | 国语第一次处破女| 餐桌下玩弄人妻丝袜小脚| 一本色道久久88亚洲精品综合| 无套内谢的新婚少妇国语播放| 欧美性猛交XXXXX按摩欧美| 久激情内射婷内射蜜桃人妖| 国产精品99久久精品| JAPANESE丰满人妻HD| 亚洲午夜性春猛交ⅩXXX| 偷窥少妇久久久久久久久| 欧美大胆老熟妇乱子伦视频| 国产成人AV免费网址| 99精品视频一区在线观看| 亚洲精品一卡2卡三卡4卡5卡| 双腿扒开调教羞辱惩罚视频| 女人被躁到高潮嗷嗷叫游戏| 精品成人毛片一区二区| 国产AV无码专区亚洲AVJUL| 99精品视频一区在线观看| 亚洲老熟女XXXXHDWAA| 婷婷成人综合激情在线视频播放 | 18禁无遮挡无码国产免费网站 | 亚洲自偷自偷偷色无码中文| 西西人体大胆牲交视频| 日本真人裸交试看120秒| 蜜桃久久久久久精品免费观看| 妓女院18禁止观看| 国产激情久久久久影院| 波多野结系列18部无码观看A| 中国女篮世界排名| 亚洲精品无码正在夜夜骚 | 久久精品国产亚洲AV蜜臀色欲 | 一米八五插一米六可以吗| 亚洲AV成人精品网站在线播放 | 几天没C是不是又痒了网站| 公交车后车座的疯狂的做| Chinese国产男男视频观看| 亚洲自国产拍揄拍| 亚洲AV日韩AV无码大全| 熟妇人妻精品一区二区蜜桃| 欧美性受XXXX喷潮| 老师黑色丝袜被躁翻了AV| 红杏亚洲影院一区二区三区| 国产精品99久久久久久人| 草草地址线路①屁屁影院成人| 52秋霞东北熟女叫床| 亚洲中文字幕日产乱码小说| 午夜人妻免费视频| 上边一面亲下边一面膜的功效| 欧美熟女一区二区三区| 浪潮AV激情高潮国产精品没电了| 黄 色 视 频 在 线 免费观 | 亚洲色偷无码一区二区| 亚洲AV成人一区二区三区在线看| 四虎国产精品永久在线动漫| 人妻少妇看A偷人无码精品| 男生把QQ放进女生的QQ里韩剧| 久久久久精品精品6精品精品 | 2022精品久久久久久中文字幕| 亚洲综合久久成人AV| 亚洲国产成人极品综合| 无码专区人妻丝袜| 视频一区二区三区在线观看蜜桃| 全部免费特黄特色大片| 男生把感叹号放进女生的括号| 久久久婷婷五月亚洲97号色 | 巨波霸乳在线永久免费视频| 精品国产一二三产品区别在哪 | 九九九影视电影高清全集观看| 国产无遮挡又黄又爽免费吃瓜视频| 国产AⅤ激情无码久久久无码| 草草浮力院禁止18进入| CHINESE农村野外XXXXVIDEOS| 中文JAPANESE在线播放| 夜夜爽妓女8888视频免费观看| 亚洲精品无码国产| 亚洲AV日韩AV高潮潮喷无码| 无码夫の前で人妻を犯す中字| 男男车车CP视频| 久久久久精品国产亚洲AV蜜桃| 狠狠综合久久AV一区二区| 国产偷国产偷亚洲清高APP| 国产精品51麻豆CM传媒| 国99久9在线 | 免费| 成人片黄网站色大片免费观看CN | 欧美野外疯狂做受XXXX高潮| 男人J桶进女人P无遮挡的图片| 看全色黄大色黄大片 视频 | 成年性生交大片免费看| JIZZJIZZJIZZ日本丰| 91人人妻人人澡人人爽精品 | 少妇精品久久久一区二区| 日韩精品无码中文字幕一区二区| 青草伊人久久综在合线亚洲观看 | 日韓丨亞洲丨制服丨亂倫| 日本ⅩXXX色视频在线观看| 亲情会王芳高敏大团圆| 欧美搡BBBBB搡BBBBB| 欧美国产综合欧美视频| 免费人妻精品一区二区三区| 里番本子纯肉侵犯肉全彩无码| 久久无码专区国产精品| 久久精品影视免费观看| 久久AV高潮AV无码AV喷吹| 精品亚洲国产AⅤ在线| 精品无码人妻一区二区免费蜜桃| 精东天美麻豆果冻传媒MV| 激情综合婷婷丁香五月俺来也| 狠狠爱无码一区二区三区| 国语自产少妇精品视频| 海角精产国品一二三区别| 国内精品久久久久精品电影| 国产在线码观看超清无码视频| 国产在线观看精品一区二区三区 | 久久免费看少妇高潮V片特黄| 久久国产热这里只有精品| 久久精品国产亚洲AV网站| 久久99精品久久久久婷婷暖| 久久不卡国产精品无码| 久久精品国产精品亚洲蜜月| 久久精品亚洲中文字幕无码网站| 久久久国产精品无码免费专区| 久久久久女教师免费一区| 久久天天躁狠狠躁夜夜AV浪潮| 久久久久琪琪去精品色一到本| 久久五月精品中文字幕| 邻居少妇张开腿让我爽了在线观看| 每晚都被他添的流好多水| 免费无码又爽又刺激激情视频软件| 男生白内裤自慰GV白袜男同| 欧美V日韩V亚洲V最新在线观看| 欧美噜噜久久久XXX| 欧美另类VIDEOSSEXO潮| 欧美老人巨大XXXX做受视频| 漂亮人妻洗澡被强人人躁| 日本另类ΑV欧美另类AⅤ| 日日AV拍夜夜添久久免费| 十八禁午夜私人在线观看影院| 婷婷久久香蕉五月综合加勒比| 挽起裙子迈开腿坐下去的图片高清 | 亚洲午夜性春猛交77777| 野花韩国在线观看免费版5 | 久久五月丁香综合中文亚洲| 伦人伦XXX国产对白| 女局长白白嫩嫩大屁股| 欧洲无人区卡一卡二卡三| 日本爆乳丰满熟妇XXXX| 三个男人躁我一个爽视频免费| 少妇无码一区二区三区| 无码一区二区av| 亚洲CHINESE男同志GAY| 亚洲人成网站18禁止影院| 伊人狠狠色丁香婷婷综合| 18禁免费无码无遮挡不卡网站 | 久久97人妻AⅤ无码一区| 久久亚洲精品无码AV红樱桃| 免费观看高清大片的播放器| 欧美极品性饥渴少妇大战黑人 | 天干夜天干天天爽自慰| 小荡货奶真大水真多紧视频| 亚洲国产精品无码7777一线 | 日日碰狠狠添天天爽| 我偷偷跟亲妺作爱H| 亚洲AV无码不卡在线观看下载 | 人与畜禽交互MOUSE| 熟妇女人妻丰满少妇中文字幕| 午夜免费无码福利视频|