老司机91精品网站在线观看-老司机67194免费观看-老司国产精品视频-老熟人老女人国产老太-中文字幕日本在线-中文字幕日本一区久久

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

HTML5初學者使用Application Cache指南

發布時間:  2012/7/24 9:25:09

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

 使用這個接口讓你的應用擁有三方面的優勢:

  1. 離線瀏覽——用戶在不能聯網的時候依然能瀏覽整個站點
  2. 高速——緩存資源是存儲在本地的,因此能更快加載。
  3. 更小的服務器負載——瀏覽器只需要從服務器端下載有改變的資源即可,相同資源不需要重復下載。

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

CACHE MANIFEST 文件

cache manifest文件是一個簡單的文本文件,其中列出了瀏覽器需要緩存的資源。

引用一個MANIFEST文件

為了讓一個應用能啟用application cache,需要在文檔的html標簽中包含manifest屬性,如下所示:

<html manifest=”example.appcache”>

  …

</html>

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

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

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

  …

</html>

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

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

AddType text/cache-manifest .appcache

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

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

  static_files: mystaticdir/\1

  mime_type: text/cache-manifest

  upload: mystaticdir/(.*\.appcache)

MANIFEST FILE的結構

一個簡單的manifest文件看起來可能是下面這樣的:

CACHE MANIFEST

index.html

stylesheet.css

images/logo.png

scripts/main.js

這個示例將會緩存指定使用這個manifest的頁面中的四個文件。

有幾點是需要注意的:

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

下面來看一個更復雜的例子:

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

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

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

CACHE:

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

NETWORK:

這一部分中所列出的資源都是需要聯網使用的資源。它們都不會進入cache中,即使用戶處于離線狀態。這部分可能會使用Wildcards。

FALLBACK:

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

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

下面的manifest文件定義了一個“catch-all”頁面(offline.html),這個頁面將會在用戶試圖離線訪問網站根節點時顯示。它還指明了需要聯網使用的其他資源(如遠程站點上的資源)。

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文件都會自動被緩存,因此,沒有必要在你的manifest文件中再指定這個文件,但是,在manifest文件中指定這個文件是一種更好的做法。

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

更新緩存(CACHE)

如果一個應用是在離線情況下,那么它會保持它的緩存狀態,除非有以下事件發生:

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

緩存狀態CACHE STATUS

在程序中,你可以通過window.applicationCache 對象來訪問瀏覽器的app cache。你可以查看 status 屬性來獲取cache的當前狀態:

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,首先調用 applicationCache.update()。這將會試圖更新用戶的cache(要求manifest文件已經改變)。最后,當 applicationCache.status 處于 UPDATEREADY 狀態時,調用applicationCache.swapCache(),舊的cache就會被置換成新的。


本文出自:億恩科技【www.ypdoo.com.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

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

    0371-60135900
    7*24小時客服服務熱線

     
     
    国产91素人搭讪系列天堂| 午夜久久网| 日本伦理网站| 精品久久久久久中文字幕一区| 一级毛片视频免费| 国产麻豆精品高清在线播放| 色综合久久天天综线观看| 黄视频网站免费| 韩国毛片| 一级片免费在线观看视频| 欧美18性精品| 九九热国产视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产伦久视频免费观看 视频| 国产伦精品一区二区三区在线观看| 你懂的在线观看视频| 韩国三级香港三级日本三级| 午夜在线影院| 成人影院久久久久久影院| 亚洲精品中文字幕久久久久久| 天天色色网| 国产一区免费在线观看| 午夜欧美成人香蕉剧场| 国产极品精频在线观看| 成人免费网站久久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲 欧美 91| 一a一级片| 99热精品在线| 精品国产亚一区二区三区| 天天色色网| 欧美a级片视频| 日韩在线观看免费| 黄色短视屏| 成人影院久久久久久影院| 亚洲 男人 天堂| 色综合久久天天综合观看| 欧美18性精品| 久久精品大片| 国产91素人搭讪系列天堂| 精品国产亚一区二区三区| 日韩免费片| 青青久久精品| 亚洲天堂在线播放| 国产极品精频在线观看| 午夜久久网| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99色吧| 欧美a级v片不卡在线观看| 精品国产香蕉在线播出 | 四虎久久影院| 国产成人精品综合在线| 国产高清视频免费观看| 国产不卡在线播放| 国产精品自拍一区| 精品久久久久久中文字幕2017| 国产精品免费久久| 欧美1卡一卡二卡三新区| 欧美激情一区二区三区视频| 黄视频网站免费| 成人在激情在线视频| 免费国产在线视频| 九九精品影院| 国产a视频| 日韩中文字幕在线亚洲一区| 青青久热| 欧美爱爱动态| 91麻豆精品国产高清在线| 超级乱淫黄漫画免费| 一级女性全黄生活片免费| 久久福利影视| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美爱爱动态| 亚洲爆爽| 国产一区二区高清视频| 韩国三级香港三级日本三级la| 国产成人精品在线| 国产成人精品综合在线| 亚洲天堂在线播放| 国产综合91天堂亚洲国产| 欧美爱色| 青草国产在线观看| 久久国产精品永久免费网站| 欧美a级成人淫片免费看| 亚洲女人国产香蕉久久精品| 久久国产影视免费精品| 欧美一级视频免费| 欧美一级视频免费| 国产麻豆精品免费密入口| 日韩在线观看视频免费| 亚洲 欧美 成人日韩| 一级片片| 可以免费看污视频的网站| 999精品在线| 国产欧美精品| 日韩专区第一页| 免费国产在线观看| 黄视频网站免费| 黄视频网站在线看| 国产91精品系列在线观看| 高清一级做a爱过程不卡视频| 国产一区二区精品久| 国产网站麻豆精品视频| 久草免费资源| 九九干| 毛片的网站| 日日爽天天| 九九九国产| 免费国产在线观看| 精品久久久久久综合网| 黄视频网站在线看| 青草国产在线| 精品国产亚洲人成在线| 可以免费看毛片的网站| 欧美激情一区二区三区中文字幕| 精品国产亚洲人成在线| a级黄色毛片免费播放视频| 四虎影视久久久免费| 精品久久久久久中文| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人免费观看的视频黄页| 黄视频网站免费| 日韩免费在线观看视频| 国产国语对白一级毛片| 99色吧| 国产精品123| 久久国产一久久高清| 久久久久久久男人的天堂| 国产激情视频在线观看| 久久久久久久网| 国产网站免费在线观看| 国产麻豆精品视频| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 九九九国产| 四虎影视精品永久免费网站| 成人免费观看视频| 高清一级片| 青草国产在线观看| 麻豆午夜视频| 国产视频网站在线观看| 免费毛片播放| 成人免费观看男女羞羞视频| 91麻豆精品国产自产在线观看一区 | 国产成人精品综合在线| 国产a视频| 久久99这里只有精品国产| 久久久久久久男人的天堂| 国产视频一区二区三区四区| 国产原创视频在线| 国产一区二区精品在线观看| 国产91精品系列在线观看| 日本伦理网站| 亚洲精品中文字幕久久久久久| 欧美大片a一级毛片视频| 日本伦理黄色大片在线观看网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 毛片的网站| 国产原创中文字幕| 国产激情视频在线观看| 中文字幕一区二区三区精彩视频| 99久久网站| 国产麻豆精品高清在线播放| 日韩中文字幕在线亚洲一区| 91麻豆国产级在线| 国产91丝袜在线播放0| 高清一级片| 九九久久99| 91麻豆精品国产高清在线| 欧美爱爱动态| 国产成人精品一区二区视频| 国产精品1024永久免费视频| 九九干| 黄色短视屏| 日本乱中文字幕系列| 欧美18性精品| 成人高清视频在线观看| 欧美激情一区二区三区在线| 色综合久久天天综合| 可以在线看黄的网站| 一级毛片视频免费| 久久精品免视看国产明星| 色综合久久天天综线观看| 在线观看成人网 | 久草免费资源| 久久国产精品自由自在| 久久久成人网| 国产网站免费视频| 四虎影视久久| 欧美大片aaaa一级毛片| 天天做日日爱| 日韩中文字幕在线亚洲一区| 亚飞与亚基在线观看| 欧美爱爱动态| 国产成人欧美一区二区三区的| 麻豆网站在线免费观看| 美女被草网站| 天天做日日爱| 国产精品123| 999精品影视在线观看| 久久99青青久久99久久|