標籤:
在用戶端儲存資料
HTML5 提供了兩種在用戶端儲存資料的新方法:
- localStorage - 沒有時間限制的資料存放區
- sessionStorage - 針對一個 session 的資料存放區
之前,這些都是由 cookie 完成的。但是 cookie 不適合大量資料的儲存,因為它們由每個對伺服器的請求來傳遞,這使得 cookie 速度很慢而且效率也不高。
在 HTML5 中,資料不是由每個伺服器請求傳遞的,而是只有在請求時使用資料。它使在不影響網站效能的情況下儲存大量資料成為可能。
對於不同的網站,資料存放區於不同的地區,並且一個網站只能訪問其自身的資料。
HTML5 使用 JavaScript 來儲存和訪問資料。
localStorage 方法
localStorage 方法儲存的資料沒有時間限制。第二天、第二周或下一年之後,資料依然可用。
如何建立和訪問 localStorage:
<!DOCTYPE HTML><html><body><script type="text/javascript">localStorage.lastname="Smith";document.write("Last name: " + localStorage.lastname);</script></body></html>
下面的例子對使用者訪問頁面的次數進行計數:
<!DOCTYPE HTML><html><body><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> <p>重新整理頁面會看到計數器在增長。</p><p>請關閉瀏覽器視窗,然後再試一次,計數器會繼續計數。</p></body></html>
sessionStorage 方法
sessionStorage 方法針對一個 session 進行資料存放區。當使用者關閉瀏覽器視窗後,資料會被刪除。
如何建立並訪問一個 sessionStorage:
<!DOCTYPE HTML><html><body><script type="text/javascript">sessionStorage.lastname="Smith";document.write(sessionStorage.lastname);</script></body></html>
下面的例子對使用者在當前 session 中訪問頁面的次數進行計數:
<!DOCTYPE HTML><html><body><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> <p>重新整理頁面會看到計數器在增長。</p><p>請關閉瀏覽器視窗,然後再試一次,計數器已經重設了。</p></body></html>
HTML 5 Web 儲存