日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

083_html5应用程序缓存

發(fā)布時(shí)間:2025/4/17 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 083_html5应用程序缓存 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 使用html5, 通過創(chuàng)建cache manifest文件, 可以輕松地創(chuàng)建web應(yīng)用的離線版本。

2. 什么是應(yīng)用程序緩存(Application Cache)?

2.1. html5引入了應(yīng)用程序緩存, 這意味著web應(yīng)用可進(jìn)行緩存, 并可在沒有因特網(wǎng)連接時(shí)進(jìn)行訪問。

2.2. 應(yīng)用程序緩存為應(yīng)用帶來三個(gè)優(yōu)勢:

?2.2.1. 離線瀏覽: 用戶可在應(yīng)用離線時(shí)使用它們。

?2.2.2. 速度: 已緩存資源加載得更快。

?2.2.3. 減少服務(wù)器負(fù)載: 瀏覽器將只從服務(wù)器下載更新過或更改過的資源。

3. 瀏覽器支持

3.1. 所有主流瀏覽器均支持應(yīng)用程序緩存, 除了Internet Explorer。

4. Cache Manifest基礎(chǔ)

4.1. 如需啟用應(yīng)用程序緩存, 請?jiān)谖臋n的<html>標(biāo)簽中包含manifest屬性:

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

4.2. 每個(gè)指定了manifest的頁面在用戶對(duì)其訪問時(shí)都會(huì)被緩存。如果未指定manifest屬性, 則頁面不會(huì)被緩存(除非在manifest文件中直接指定了該頁面)。

4.3. manifest文件的建議的文件擴(kuò)展名是: ".appcache"。

4.4. 請注意, manifest文件需要配置正確的MIME-type, 即"text/cache-manifest"。必須在web服務(wù)器上進(jìn)行配置。

4.5. 在Tomcat的web.xml里已經(jīng)自動(dòng)配置了:

5. Manifest文件

5.1. manifest文件是簡單的文本文件, 它告知瀏覽器被緩存的內(nèi)容(以及不緩存的內(nèi)容)。

5.2. manifest文件可分為三個(gè)部分:

?5.2.1. CACHE MANIFEST: 在此標(biāo)題下列出的文件將在首次下載后進(jìn)行緩存。

?5.2.2. NETWORK: 在此標(biāo)題下列出的文件需要與服務(wù)器的連接, 且不會(huì)被緩存。

?5.2.3. FALLBACK: 在此標(biāo)題下列出的文件規(guī)定當(dāng)頁面無法訪問時(shí)的回退頁面(比如: 404頁面)。

5.3. CACHE MANIFEST

?5.3.1. 第一行, CACHE MANIFEST, 是必需的:

CACHE MANIFEST /theme.css /logo.gif /main.js

?5.3.2. 上面的manifest文件列出了三個(gè)資源: 一個(gè)CSS文件, 一個(gè)GIF圖像, 以及一個(gè)JavaScript文件。當(dāng)manifest文件加載后, 瀏覽器會(huì)從網(wǎng)站的根目錄下載這三個(gè)文件。然后, 無論用戶何時(shí)與因特網(wǎng)斷開連接, 這些資源依然是可用的。

5.4. NETWORK

?5.4.1. 下面的NETWORK小節(jié)規(guī)定文件"login.jsp"永遠(yuǎn)不會(huì)被緩存, 且離線時(shí)是不可用的:

NETWORK: login.jsp

? 5.4.2. 可以使用星號(hào)來指示所有其他資源、文件都需要因特網(wǎng)連接:

NETWORK: *

5.5. FALLBACK

?5.5.1. 下面的FALLBACK小節(jié)規(guī)定如果無法建立因特網(wǎng)連接, 則用"404.html"替代myhtml/目錄中的所有文件:

FALLBACK: /myhtml/ 404.html

?5.5.2. 第一個(gè)URI是資源, 第二個(gè)是替補(bǔ)。

6. 更新緩存

6.1. 一旦應(yīng)用被緩存, 它就會(huì)保持緩存直到發(fā)生下列情況:

?6.1.1. 用戶清空瀏覽器緩存。

?6.1.2. manifest文件被修改。

?6.1.3. 由程序來更新應(yīng)用緩存。

6.2. 實(shí)例 - 完整的Manifest文件

CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.jsNETWORK: login.jspFALLBACK: /myhtml/ 404.html

6.3. 重要的提示: 以"#"開頭的是注釋行, 但也可滿足其他用途。應(yīng)用的緩存會(huì)在其manifest文件更改時(shí)被更新。如果您編輯了一幅圖片, 或者修改了一個(gè)JavaScript函數(shù), 這些改變都不會(huì)被重新緩存。更新注釋行中的日期和版本號(hào)是一種使瀏覽器重新緩存文件的辦法。

7. 瀏覽器對(duì)緩存數(shù)據(jù)的容量限制可能不太一樣(某些瀏覽器設(shè)置的限制是每個(gè)站點(diǎn)5MB)。

8. 例子

8.1. 編寫manifest.html

<!DOCTYPE html> <html manifest="demo.appcache"><head><meta charset="utf-8" /><title>應(yīng)用程序緩存</title></head><body><script type="text/javascript" src="demo.js"></script><p id="timePara"><button onclick="getDateTime()">獲得日期和事件</button></p><p><img src="w3school_banner.gif" /></p><p>請打開<a href="manifest.html" target="_blank">這個(gè)頁面</a>, 然后脫機(jī)瀏覽, 重新加載頁面。頁面中的腳本和圖像依然可用。</p></body> </html>

8.2. demo.js

function getDateTime() {var d = new Date();document.getElementById('timePara').innerHTML=d; }

8.3. demo.appcache

CACHE MANIFEST /demo.js /w3school_banner.gif

8.4. 新建一個(gè)名為ApplicationCache的動(dòng)態(tài)Web工程

8.5. 啟動(dòng)服務(wù)器, 訪問manifest.html

8.6. 關(guān)閉服務(wù)器, 訪問manifest.html

總結(jié)

以上是生活随笔為你收集整理的083_html5应用程序缓存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。