在客戶端存儲數據
HTML5 提供了兩種在客戶端存儲數據的新方法:
- localStorage - 沒有時間限制的數據存儲
- sessionStorage - 針對一個 session 的數據存儲
之前,這些都是由 cookie 完成的。但是 cookie 不適合大量數據的存儲,因為它們由每個對服務器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。
在 HTML5 中,數據不是由每個服務器請求傳遞的,而是只有在請求時使用數據。它使在不影響網站性能的情況下存儲大量數據成為可能。
對于不同的網站,數據存儲于不同的區域,并且一個網站只能訪問其自身的數據。
HTML5 使用 JavaScript 來存儲和訪問數據。
localStorage 方法
localStorage 方法存儲的數據沒有時間限制。第二天、第二周或下一年之后,數據依然可用。
如何創建和訪問 localStorage:
實例
<script type="text/javascript"> localStorage.lastname="Smith";
document.write(localStorage.lastname
); </script>
親自試一試
下面的例子對用戶訪問頁面的次數進行計數:
實例
<script type="text/javascript"> if (localStorage.pagecount
) { localStorage.pagecount=Number(localStorage.pagecount
) +1; } else { localStorage.pagecount
=1; } document.write("Visits "+ localStorage.pagecount
+ " time(s)."); </script>
親自試一試
sessionStorage 方法
sessionStorage 方法針對一個 session 進行數據存儲。當用戶關閉瀏覽器窗口后,數據會被刪除。
如何創建并訪問一個 sessionStorage:
實例
<script type="text/javascript"> sessionStorage.lastname="Smith";
document.write(sessionStorage.lastname
); </script>
親自試一試
下面的例子對用戶在當前 session 中訪問頁面的次數進行計數:
實例
<script type="text/javascript"> if (sessionStorage.pagecount
) { sessionStorage.pagecount=Number(sessionStorage.pagecount
) +1; } else { sessionStorage.pagecount
=1; } document.write("Visits "+sessionStorage.pagecount
+" time(s) this session."); </script>
親自試一試