在用戶沒有與因特網(wǎng)連接時,可以正常訪問站點或應用装悲,在用戶與因特網(wǎng)連接時昏鹃,更新用戶機器上的緩存文件。
原理:HTML5的離線存儲是基于一個新建的.appcache文件的緩存機制(不是存儲技術)诀诊,通過這個文件上的解析清單離線存儲資源洞渤,這些資源就會像cookie一樣被存儲了下來。之后當網(wǎng)絡在處于離線狀態(tài)下時属瓣,瀏覽器會通過被離線存儲的數(shù)據(jù)進行頁面展示载迄。
如何使用:
1、頁面頭部像下面一樣加入一個manifest的屬性抡蛙;
2护昧、在cache.manifest文件的編寫離線存儲的資源;
CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
resourse/logo.png
FALLBACK:
/ /offline.html
3粗截、在離線狀態(tài)時惋耙,操作window.applicationCache進行需求實現(xiàn)。
在線的情況下绽榛,瀏覽器發(fā)現(xiàn)html頭部有manifest屬性湿酸,它會請求manifest文件,如果是第一次訪問app灭美,那么瀏覽器就會根據(jù)manifest文件的內容下載相應的資源并且進行離線存儲推溃。如果已經訪問過app并且資源已經離線存儲了,那么瀏覽器就會使用離線的資源加載頁面届腐,然后瀏覽器會對比新的manifest文件與舊的manifest文件美莫,如果文件沒有發(fā)生改變,就不做任何操作梯捕,如果文件改變了厢呵,那么就會重新下載文件中的資源并進行離線存儲。
離線的情況下傀顾,瀏覽器就直接使用離線存儲的資源襟铭。