標籤:
在html5中使用application cache可以把一些靜態資源儲存在用戶端的瀏覽器上面。這樣可以提高訪問的速度,甚至是離線應用。關於application cache的優缺點:
1.離線瀏覽 - 使用者可在離線時瀏覽您的完整網站
2.速度 - 緩衝資源為本地資源,因此載入速度較快
3.伺服器負載更少 - 瀏覽器只會從發生了更改的伺服器下載資源
[參考文章](http://www.html5rocks.com/zh/tutorials/appcache/beginner/)
manifest
使用appcache我們需要維護一份列表。檔案名稱隨便去,不過尾碼有規定.appcache然後在html標籤上引用
<html manifest="example.appcache">
</html>
檔案分為4部分
CACHE MANIFEST
這裡的檔案將會在用戶端緩衝
NETWORK
這裡的檔案不會在用戶端緩衝
FALLBACK
這裡是一個替換的資源,當訪問資源失敗的時候自動使用這裡的資源
樣本
CACHE MANIFEST
Site.css
NETWORK:
FALLBACK:
一些坑
以上這些呢,其實沒啥太大的價值,都是其他地方搬過來的。如果你以為安裝上面的步驟就能happy的使用appcache的話,那就錯了。
MIME
使用appcache需要在伺服器上配置MIME。不然用戶端無法讀取.appcache的列表檔案。
如果你使用VS來調試,那麼需要更改IIS Express的設定檔。
C:\Users\username\Documents\IISExpress\config\applicationhost.config
開啟這個設定檔,找到mimeMap配置節點添加一個節點。
<mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />
NETWORK
上面說了,這個節點指定不緩衝的資源。如果你不填的話,很有很多資源下載不下來。你得這樣:
NETWORK:
*
寫上*萬用字元,告訴用戶端,除了上面的Cache列表,其他資源都不緩衝。
Remove AppCache
當你不想要Appcache的時候,你以為只要把html tag的manifest移除就可以,那你就錯了。你要把.appcache列表檔案從伺服器刪除。這樣才能真正的移除appcache功能。
HTML5使用ApplicationCache