使用html5 通過建立cache manifest檔案,可以輕鬆地建立web應用的離線版本。
html5引入了應用程式快取,這意味著web應用可進行快取,並可在沒有因特網連線時進行訪問。
應用程式快取為應用帶來三個優勢:
1,離線快取-使用者可在應用離線時使用它們。
2,速度-已快取資源載入得更快
3,減少伺服器負載 瀏覽器將只從伺服器下載更新過或更改過的資源。
HTML5 Cache Manifest例項
下面的例子展示了帶有cache manifest的html文件(供離線瀏覽):
<!DOCTYPE HTML> <html manifest="demo.appcache"> <body> </body> </html>
Cache Manifest基礎
如需啟用應用程式快取,請在文件的html標籤中包含manifest屬性:
每個指定了manifest的頁面在使用者對其訪問時都會被快取。如果未指定manifest屬性,則頁面不會被快取(除非在manifest檔案中直接指定了該頁面)
Tmanifest檔案的建議的副檔名是:".appcache".
請注意:manifest檔案需要配置正確的MIME-type,即"text/cache-manifest".必須在web伺服器上進行配置。
Manifest檔案
manifest檔案是簡單的文字檔案,它告知瀏覽器被快取的內容(以及不被快取的內容)。
manifest檔案可分為三個部分:
CACHE MANIFEST 在此標題下列出的檔案將在首次下載後進行快取
NETWORK 在此標題下列出的檔案需要與伺服器連線,且不會被快取
FALLBACK,在此標題下列出的檔案規定當頁面無法訪問回退頁面
CACHE MANIFEST
第一行,CACHE MANIFEST是必需的:
CACHE MANIFEST
/theme.css
/logo.gif
/jquery.js
上面的manifest檔案列出了三個資源:一個css檔案,一個gif影象,以及一個js檔案,當manifest檔案載入後,瀏覽器會從網站的根目錄下下載這三個檔案。然後,無論使用者何時與因特網斷開連線,這些資源依然是可用的。
NETWORD
下面的NETWORD小節規定檔案"login.php"永遠不會被快取,且離線時是不可用的:
FALLBACK
下面的FALLBACK小節規定如果無法建立因特網連線,則用"offline.html",替代/html5/目錄中所有的檔案:
FALLBACK:
/html/ /offline.html
注意: 第一個 URI 是資源,第二個是替補。
更新快取
一旦應用被快取,它就會保持快取直到發生下列情況:
使用者清空瀏覽器快取
manifest檔案被修改(參閱下面的提示)
由程式來更新應用快取
關於應用程式快取的說明
請留心快取的內容
一旦檔案被快取,則瀏覽器會繼續展示已快取的版本,即使您修改了伺服器上的檔案。為了確保瀏覽器更新快取,您需要更新manifest檔案。
注意:瀏覽器對快取資料的容量限制可能不太一樣(某些瀏覽器設定的限制是每個閃站點5MB)