1. 程式人生 > >HTML5 Web儲存--localStorage和sessionStorage

HTML5 Web儲存--localStorage和sessionStorage

在客戶端儲存資料

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>

文章來源於w3school