HTML5離線快取問題

2022-07-21 06:24:10 字數 2702 閱讀 1837

html5離線快取問題

1.應用程式快取

什麼是應用程式快取()?

html5 引入了應用程式快取,這意味著 web 應用可進行快取,並可在沒有網際網路連線時進行訪問。應用程式快取為應用帶來三個優勢:

主瀏覽器都支援,ie8.ie9除外

注意事項

本地快取應用所需的檔案

使用方法:

①配置manifest檔案

頁面上:

manifest檔案:

manifest 檔案是簡單的文字檔案,它告知瀏覽器被快取的內容(以及不快取的內容)。

manifest 檔案可分為三個部分:

②network - 在此標題下列出的檔案需要與伺服器的連線,且不會被快取

③fallback - 在此標題下列出的檔案規定當頁面無法訪問時的回退頁面(比如 404 頁面)

①cache manifest

②network

下面的 network 小節規定檔案 "login.asp" 永遠不會被快取,且離線時是不可用的:

network:

login.asp

可以使用星號來指示所有其他資源/檔案都需要網際網路連線:

network:*

③fallback

下面的 fallback 小節規定如果無法建立網際網路連線,則用

"offline.html" 替代 /html5/ 目錄中的所有檔案:

fallback:

/html5/ /404.html

注釋:第乙個 uri 是資源,第二個是替補。

格式

cache manifest# 2012-02-21 v1.0.0/theme.css/logo.gif/main.jsnetwork:login.aspfallback:/html5/

/404.html

完整demo:

cache manifest

# 2016-07-24 v1.0.0

/theme.css

/main.js

network:

login.jsp

fallback:

/html/ /offline.html

伺服器上:manifest檔案需要配置正確的mime-type,即 "text/cache-manifest"。

如tomcat:

manifest

text/cache-manifest

常用api:

0(uncached) : 

無快取, 即沒有與頁面相關的應用快取

1(idle) : 閒置,即應用快取未得到更新

5 (idle) : 

廢棄,即應用快取的描述檔案已經不存在了,因此頁面無法再訪問應用快取

表示應用快取狀態的改變:

checking : 在瀏覽器為應用快取查詢更新時觸發

noupdate : 在檢查描述檔案發現檔案無變化時觸發

cached : 在應用快取完整可用時觸發

的三個優勢:

① 離線瀏覽

② 提公升頁面載入速度

③ 降低伺服器壓力

注意事項:

1. 瀏覽器對快取資料的容量限制可能不太一樣(某些瀏覽器設定的限制是每個站點 5mb)

3. 引用manifest的html必須與manifest檔案同源,在同乙個域下

4. 瀏覽器會自動快取引用manifest檔案的html檔案,這就導致如果改了html內容,也需要更新版本才能做到更新。

5. manifest檔案中cache則與network,fallback的位置順序沒有關係,如果是隱式宣告需要在最前面

6. fallback中的資源必須和manifest檔案同源

7. 更新完版本後,必須重新整理一次才會啟動新版本(會出現重刷一次頁面的情況),需要新增監聽版本事件。

8. 站點中的其他頁面即使沒有設定manifest屬性,請求的資源如果在快取中也從快取中訪問

9. 當manifest檔案發生改變時,資源請求本身也會觸發更新

點我參考更多資料!

離線快取與傳統瀏覽器快取區別:

1. 離線快取是針對整個應用,瀏覽器快取是單個檔案

2. 離線快取斷網了還是可以開啟頁面,瀏覽器快取不行

3. 離線快取可以主動通知瀏覽器更新資源

更新

一旦應用被快取,它就會保持快取直到發生下列情況:

使用者清空瀏覽器快取

manifest 檔案被修改(參閱下面的提示)

由程式來更新應用快取

如何理解瀏覽器快取,優點是什麼?

1、快取的優點:

1)伺服器響應更快:因為請求從快取伺服器(離客戶端更近)而不是源伺服器被響應,這個過程耗時更少,讓伺服器看上去響應更快。

2)減少網路頻寬消耗:當副本被重用時會減低客戶端的頻寬消耗;客戶可以節省頻寬費用,控制頻寬的需求的增長並更易於管理。

HTML5離線快取

它的優勢在於 ie10以下不支援,其餘的瀏覽器都支援。補充瀏覽器及其核心 ie trident ff gecko chrome blink opera blink 曾經使用presto safari webkit timepara getdatetime 獲取日期和時間 logo.png width...

html5 離線快取

本文將介紹離線快取的方方面面,並在最後會介紹一下關於自動化的問題。html5之前的網頁,都是無連線,必須聯網才能訪問,這其實也是web的特色,這其實對於pc是時代問題並不大,但到了移動網際網路時代,裝置終端位置不再固定,依賴無線訊號,網路的可靠性變得降低,比如坐在火車上,過了乙個隧道 15分鐘 便無...

html5的離線快取

html5 引入了應用程式快取,這意味著web應用可以進行快取,並且可以在沒有網路連線的時候進行訪問。1 離線瀏覽 使用者可以在應用離線時使用它們 2 速度更快 已快取資源,載入得更快 有乙個web應用有三個檔案index.html,a.js,b.css,現在需要把js和css檔案快取起來 1.在i...