html5——離線緩存

實現離線緩存非常簡單,只需要在html標籤上添加manifest屬性就可以了

<html manifest="cache.manifest">
....
</html>

然後在創建一個cache.manifest文件

文件中的內容是

CACHE MANIFEST
#v0.11

CACHE:
js/app.js
css/style.css

NETWORK:
resourse/logo.png

FALLBACK:
/ /offline.html

CACHE:必選,這裏面的寫入的文件資源都是會被離線緩存的。

NETWORK:可選,這裏面的文件資源列表是需要聯網才能訪問的,不會被離線緩存。如果CACHE和NETWORK有同名文件資源,那麼那個文件資源也會被離線緩存。這說CACHE的優先級比較高

FALLBACK:可選,表示如果第一個資源不可訪問,那麼就用第二個資源訪問,這裏就是用offline.html代替目錄中的所有文件

 

離線緩存分兩步:

1.處於在線狀態,如果發現html中有manifest屬性,那麼瀏覽器就會去拿到manifest文件,如果是第一次訪問,瀏覽器就會通過manifest中的內容下載相應的資源並進行離線緩存。如果不是第一次訪問,那麼瀏覽器就會調用離線緩存的資源加載頁面。然後瀏覽器會對比新的manifest文件和舊的manifest文件,如果沒有變化,那麼就不進行操作。如果在服務器上修改了離線緩存過的文件資源,瀏覽器就會下載新的文件資源並且進行離線緩存。注意:服務器的資源發生變化時,我們要修改manifest文件,可以修改版本號#v0.11爲#v0.12,不然瀏覽器是不會重新下載新的文件資源並進行離線緩存的,它會認爲文件資源沒有變動。從而使用之前緩存的文件資源。當更新了文件資源後,需要刷新頁面或者重啓頁面纔會看到新的文件資源,因爲瀏覽器是先調用離線資源加載頁面再進行緩存新資源的。如果需要資源馬上就能生效,那麼可以使用window.applicationCache.swapCache()方法來使之生效。

2.處於離線狀態,直接使用離線緩存的資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章