HTML5應用程序緩存實現離線Web網頁或應用


HTML5應用程序緩存和瀏覽器緩存的區別。
(有些)瀏覽器會主動保存自己的緩存文件以加快網站加載速度。但是要實現瀏覽器緩存必須要滿足一個前提,那就是網絡必須要保持連接。如果網絡沒有連接,即使瀏覽器啟用了對一個站點的緩存,依然無法打開這個站點。只會收到一條錯誤信息。而使用離線web應用,我們可以主動告訴瀏覽器應該從網站服務器中獲取或緩存哪些文件,並且在網絡離線狀態下依然能夠訪問這個網站。

如何實現HTML5應用程序緩存。
實現HTML5應用程序緩存非常簡單,只需三步,並且不需要任何API。只需要告訴瀏覽器需要離線緩存的文件,並對服務器和網頁做一些簡單的設置即可實現。

•創建一個 cache.manifest 文件,並確保文件具有正確的內容
•在服務器上設置內容類型
•所有的HTML文件都指向 cache.manifest
首先我們需要建立一個名為 cache.manifest 的文件,Windows平台下用記事本即可(也可用其他的IDE)。文件內容如下:

CACHE MANIFEST
#v1 - 2013-09-09

CACHE:
index.html
favicon.ico
css/main.css

NETWORK: *
其中 CACHE: 之后的部分為列出我們需要緩存的文件。 NETWORK: 之后可以指定在線白名單,即列出我們不希望離線存儲的文件,因為通常它們的內容(www.111cn.net)需要互聯網訪問才有意義。另外,在此部分我們可以使用快捷方式:通配符*。這將告訴瀏覽器,應用服務器中獲取沒有在顯示部分中提到的任何文件或URL。需要特別指出的是,上面例子中的注釋 v1 很有必要存在。只有當 cache.manifest 文件發生變化時,瀏覽器才會去更新應用緩存。如果你要更改緩存資源,你必須同時修改此文件中的內容,以便讓瀏覽器知道它們需要更新緩存。你可以對清單文件做任何改動,但大家都認同的最佳實踐則是修正版本號(即v*)。

接下來需要在服務器上設置內容類型:

假使你使用的事Apache服務器,在.htaccess文件中添加以下代碼:

AddType text/cache-manifest .manifest最后,我們需要將HTML頁面指向清單文件。通過設置每一個頁面中HTML元素的manifest屬性來完成這一步:

<html manifest="/cache.manifest">完成這一步后,就完成了web離線緩存的所有步驟。由於瀏覽的文件內容都沒有更改且存儲在本地,因此現在網頁的打開速度會更快(即使是在線狀態也如此)。
需要注意的問題:

•網站的每一個html頁面都必須設置html元素的manifest屬性。一定要這樣做;
•在你的整個網站應用中,只能有一個cache.manifest文件(建議放在網站根目錄下);
•部分瀏覽器(如IE8-)不支持HTML5離線緩存;
from:http://www.111cn.net/wy/html5/52979.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM