HTML5引入應用程式緩存,表示web應用程式可以進行緩存,即使在沒有網路的情況下也能使用。
application cache有三個特點
#離線瀏覽
已快取的資源載入速度更快
減少伺服器負載,瀏覽器只會從伺服器下載更新或更改過的資源
每個指定了manifest 的頁面在使用者對其存取時都會被快取。如果未指定 manifest 屬性,則頁面不會被快取(除非在 manifest 檔案中直接指定了該頁面)。
manifest 檔案的建議的檔案副檔名是:".appcache"。
<!DOCTYPE HTML> <html manifest="demo.appcache"> <body> The content of the document...... </body> </html>
manifest 文件是簡單的文字文件,它告知瀏覽器被快取的內容(以及不快取的內容)。
manifest 檔案可分為三個部分:
CACHE MANIFEST - 在此標題下列出的檔案將在首次下載後進行快取
#NETWORK - 在此標題下列出的檔案需要與伺服器的連接,且不會被快取
#FALLBACK - 在此標題下列出的檔案規定當頁面無法存取時的回退頁面(例如404 頁)
一個完整的manifest檔
CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.js NETWORK: login.asp FALLBACK: /html5/ /404.html
HTML5 提供了兩種在用戶端儲存資料的新方法:
localStorage - 沒有時間限制的資料儲存
##sessionStorage - 針對一個session 的資料儲存
之前,這些都是由cookie 完成的。但是 cookie 不適合大量資料的存儲,因為它們由每個對伺服器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。
localStorage和sessionStorage的方法:
setItem儲存value
用途:將value儲存到key欄位
程式碼範例:
sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in");
用法:.getItem(key)程式碼範例:
#var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site");
removeItem刪除key
用途:刪除指定key本機儲存的值用法:.removeItem(key)
程式碼範例:sessionStorage.removeItem("key"); localStorage.removeItem("site");
用法:.clear()
indexDB是一種輕量NOSQL資料庫。相較於web sql(sqlite)更有效率,包括索引、事務處理和健壯的查詢功能。
以上是html5幾種在客戶端儲存資料的實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!