HTML5 Web 存儲(chǔ)詳解
在客戶端存儲(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:
- <!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ù):
- <!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ù)器在增長。</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:
- <!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ù):
- <!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ù)器在增長。</p>
- <p>請(qǐng)關(guān)閉瀏覽器窗口,然后再試一次,計(jì)數(shù)器已經(jīng)重置了。</p>
- </body>
- </html>
以上這篇HTML5 Web 存儲(chǔ)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
HTML5離線應(yīng)用與客戶端存儲(chǔ)的實(shí)現(xiàn)
這篇文章主要介紹了HTML5離線應(yīng)用與客戶端存儲(chǔ)的實(shí)現(xiàn)的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-03HTML5本地存儲(chǔ)和本地?cái)?shù)據(jù)庫實(shí)例詳解
這篇文章主要介紹了HTML5本地存儲(chǔ)和本地?cái)?shù)據(jù)庫實(shí)例詳解,需要的朋友可以參考下2017-09-05
本篇文章主要介紹了前端HTML5幾種存儲(chǔ)方式的總結(jié) ,主要包括本地存儲(chǔ)localstorage,本地存儲(chǔ)sessionstorage,離線緩存(application cache),Web SQL,IndexedDB。有興趣2016-12-27html5本地存儲(chǔ) localStorage操作使用詳解
這篇文章主要介紹了html5本地存儲(chǔ) localStorage操作使用詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-20HTML5中的網(wǎng)絡(luò)存儲(chǔ)實(shí)現(xiàn)方式
傳統(tǒng)方式使用document.cookie來進(jìn)行存儲(chǔ),但是由于其存儲(chǔ)的空間只有4KB左右,并且需要復(fù)雜的操作進(jìn)行解析,給發(fā)開者帶來很多不便,為此,HTML5規(guī)范提出了網(wǎng)絡(luò)存儲(chǔ)的解決方2020-04-28


