在客戶端存儲(chǔ)數(shù)據(jù)
HTML5 提供了兩種在客戶端存儲(chǔ)數(shù)據(jù)的新方法:
• localStorage - 沒有時(shí)間限制的數(shù)據(jù)存儲(chǔ)
• sessionStorage - 針對(duì)一個(gè) session 的數(shù)據(jù)存儲(chǔ)
之前,這些都是由 cookie 完成的。但是 cookie 不適合大量數(shù)據(jù)的存儲(chǔ),因?yàn)樗鼈冇擅總€(gè)對(duì)服務(wù)器的請(qǐng)求來傳遞,這使得 cookie 速度很慢而且效率也不高。
在 HTML5 中,數(shù)據(jù)不是由每個(gè)服務(wù)器請(qǐng)求傳遞的,而是只有在請(qǐng)求時(shí)使用數(shù)據(jù)。它使在不影響網(wǎng)站性能的情況下存儲(chǔ)大量數(shù)據(jù)成為可能。
對(duì)于不同的網(wǎng)站,數(shù)據(jù)存儲(chǔ)于不同的區(qū)域,并且一個(gè)網(wǎng)站只能訪問其自身的數(shù)據(jù)。
HTML5 使用 JavaScript 來存儲(chǔ)和訪問數(shù)據(jù)。
localStorage 方法
localStorage 方法存儲(chǔ)的數(shù)據(jù)沒有時(shí)間限制。第二天、第二周或下一年之后,數(shù)據(jù)依然可用。
如何創(chuàng)建和訪問 localStorage:
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <!DOCTYPE HTML>
- <html>
- <body>
-
- <script type="text/javascript">
-
- localStorage.lastname="Smith";
- document.write("Last name: " + localStorage.lastname);
-
- </script>
-
- </body>
- </html>
下面的例子對(duì)用戶訪問頁面的次數(shù)進(jìn)行計(jì)數(shù):
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <!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>刷新頁面會(huì)看到計(jì)數(shù)器在增長(zhǎng)。</p>
-
- <p>請(qǐng)關(guān)閉瀏覽器窗口,然后再試一次,計(jì)數(shù)器會(huì)繼續(xù)計(jì)數(shù)。</p>
-
- </body>
- </html>
sessionStorage 方法
sessionStorage 方法針對(duì)一個(gè) session 進(jìn)行數(shù)據(jù)存儲(chǔ)。當(dāng)用戶關(guān)閉瀏覽器窗口后,數(shù)據(jù)會(huì)被刪除。
如何創(chuàng)建并訪問一個(gè) sessionStorage:
JavaScript Code復(fù)制內(nèi)容到剪貼板
- <!DOCTYPE HTML>
- <html>
- <body>
-
- <script type="text/javascript">
-
- sessionStorage.lastname="Smith";
- document.write(sessionStorage.lastname);
-
- </script>
-
- </body>
- </html>
下面的例子對(duì)用戶在當(dāng)前 session 中訪問頁面的次數(shù)進(jìn)行計(jì)數(shù):
XML/HTML Code復(fù)制內(nèi)容到剪貼板
- <!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>刷新頁面會(huì)看到計(jì)數(shù)器在增長(zhǎng)。</p>
-
- <p>請(qǐng)關(guān)閉瀏覽器窗口,然后再試一次,計(jì)數(shù)器已經(jīng)重置了。</p>
-
- </body>
- </html>
以上這篇HTML5 Web 存儲(chǔ)詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。