Web存儲介紹和簡單使用

1义辕、簡介

HTML5 提供了兩種在客戶端存儲數(shù)據(jù)的新方法

localStorage - 沒有時間限制 ?一次存儲永久訪問?

sessionStorage - 針對一個 session ( 會話 ) 的數(shù)據(jù)存儲。關(guān)閉當(dāng)前窗口幕帆,存儲的數(shù)據(jù)被刪除

之前,這些都是由 cookie 完成的。為什么不用cookie了?

cookie 不適合大量數(shù)據(jù)的存儲? (只有4k)

cookie 影響網(wǎng)站的性能

cookie 速度慢(因?yàn)樗鼈冇擅總€對服務(wù)器的請求來傳遞) ?安全性也不高

在 HTML5 中峦树,數(shù)據(jù)不是由每個服務(wù)器請求傳遞的,而是只有在請求時使用數(shù)據(jù)旦事。它使在不影響網(wǎng)站性能的情況下存儲大量數(shù)據(jù)成為可能魁巩。

H5Web存儲 在不影響網(wǎng)站性能的情況下存儲大量數(shù)據(jù) (5M)

HTML5 使用 JavaScript 來存儲和訪問數(shù)據(jù)。數(shù)據(jù)以 鍵/值 對存在

對于不同的網(wǎng)站族檬,數(shù)據(jù)存儲于不同的區(qū)域歪赢,并且一個網(wǎng)站只能訪問其自身的數(shù)據(jù)。

--------------------------------------------------------------------------------------------------------------------

2单料、檢查瀏覽器是否支持 localStorage 和sessionStorage

Internet Explorer 8+埋凯、 Firefox、 Opera扫尖、Chrome 和 Safari都支持Web 存儲

<script>

? ? ? ? ? if ( typeof ( Storage ) !== "undefined" ) {

? ? ? ? ? ? ? ? ? ? alert ( "當(dāng)前瀏覽器 支持 localStorage? sessionStorage 對象!")

? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? alert ( "不好意思 H5web存儲比較高大上 哥們我還不支持" )

? ? ? ? ? }

</script>

-----------------------------------------------------------------------------------------------------------------

3白对、localStorage?

localStorage 一次存儲永久訪問,除非數(shù)據(jù)被清空。用戶關(guān)閉當(dāng)前窗口下次訪問依舊能夠獲取數(shù)據(jù)

3.1换怖、創(chuàng)建和訪問 localStorage

<script>

? ? ? ? localStorage.name = "Hungry" ? // name是隨便寫的一個鍵 Hungry是name對應(yīng)的值

? ? ? ? document.write ( localStorage.name ) ? ? // 通過name這個鍵取得name對應(yīng)的值

? ? ? ? ?// 可以用setItem("name", "Hungry") ?和 getItem("name") 代替

</script>

3.2甩恼、練習(xí)-存儲用戶是第幾次訪問網(wǎng)站

<script>

? ? ? ? ? if ( localStorage.pagecount ) {

? ? ? ? ? ? ? ? ? ? // 鍵/值對通常以字符串存儲,你可以按自己的需要轉(zhuǎn)換該格式

? ? ? ? ? ? ? ? ?localStorage.pagecount = Number ( localStorage.pagecount ) +1

? ? ? ? ? } else {

? ? ? ? ? ? ? ? ?localStorage.pagecount = 1

? ? ? ? ? }

? ? ? ? ? document.write ( "訪問第 "+ localStorage.pagecount + " 次 關(guān)閉瀏覽器再次運(yùn)行")

</script>

-------------------------------------------------------------------------------------------------------------------------------------

4沉颂、sessionStorage 方法

sessionStorage 當(dāng)用戶關(guān)閉瀏覽器窗口后条摸,數(shù)據(jù)會被刪除。刷新當(dāng)前頁面铸屉,數(shù)據(jù)不會被刪除钉蒲。

4.1、創(chuàng)建并訪問一個 sessionStorage

<script>

? ? ? ? ? // sessionStorage.name = "Hungry"

? ? ? ? ? // document.write ( sessionStorage.name )?

? ? ? ? ? // 下面寫法等價于上面

? ? ? ? ? sessionStorage.setItem ( "name" , "Hungry" ) ??

? ? ? ? ? document.write ( sessionStorage.getItem ( "name" ) )

</script>

4.2彻坛、練習(xí)-用戶在當(dāng)前 session 中訪問頁面的次數(shù)進(jìn)行計(jì)數(shù)

<script>

? ? ? ? ? if ( sessionStorage.pagecount ) {

? ? ? ? ? ? ? ? ? ? sessionStorage.pagecount = Number ( sessionStorage.pagecount ) +1

? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? sessionStorage.pagecount = 1

? ? ? ? ? }

? ? ? ? ? document.write ( "訪問第 "+ sessionStorage.pagecount + " 次? 關(guān)閉窗口 數(shù)據(jù)被清空")

</script>

-------------------------------------------------------------------------------------------------------------------

5顷啼、Web存儲常用API---5個

不管是 localStorage,還是 sessionStorage昌屉,可使用的API都相同

(1)保存數(shù)據(jù):localStorage.setItem ( key , value )

(2)讀取數(shù)據(jù):localStorage.getItem ( key )

(3)刪除單個數(shù)據(jù):localStorage.removeItem ( key )?

例:

if ( localStorage.pagecount ) {

? ? ? ? ? localStorage.pagecount = Number ( localStorage.pagecount ) +1

? ? //一共10關(guān)钙蒙,讓刷到底10關(guān)的時候,從第一關(guān)開始

? ? ? ? ? if ( localStorage.pagecount > 10 ) {

? ? ? ? ? ? ? ? ? ? localStorage.removeItem ( "pagecount" )?

? ? ? ? ? ? ? ? ? ? localStorage.pagecount = 1?

? ? ? ? ? }

} else {

? ? ? ? ? localStorage.pagecount = 1

}

document.write ( "來到第 "+ localStorage.pagecount + " 關(guān) 刷新一次通過一關(guān) 共10關(guān) 通關(guān)后又來到第一關(guān)")

(4)刪除所有數(shù)據(jù):localStorage.clear( )

localStorage.name = "男神";

localStorage.englishName = "Hungry";

localStorage.clear( )?

document.write ( localStorage.name + localStorage.englishName )?

(5)得到某個索引的key:localStorage.key ( index )

localStorage.name = "男神"

localStorage.englishName = "Hungry"

document.write ( localStorage.key ( 3 ) )

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末间驮,一起剝皮案震驚了整個濱河市躬厌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌竞帽,老刑警劉巖烤咧,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偏陪,死亡現(xiàn)場離奇詭異,居然都是意外死亡煮嫌,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進(jìn)店門抱虐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昌阿,“玉大人,你說我怎么就攤上這事恳邀∨潮” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵谣沸,是天一觀的道長刷钢。 經(jīng)常有香客問我,道長乳附,這世上最難降的妖魔是什么内地? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮赋除,結(jié)果婚禮上阱缓,老公的妹妹穿的比我還像新娘。我一直安慰自己举农,他們只是感情好荆针,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颁糟,像睡著了一般航背。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上棱貌,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天玖媚,我揣著相機(jī)與錄音,去河邊找鬼键畴。 笑死最盅,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的起惕。 我是一名探鬼主播涡贱,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惹想!你這毒婦竟也來了问词?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘀粱,失蹤者是張志新(化名)和其女友劉穎激挪,沒想到半個月后辰狡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡垄分,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年宛篇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片薄湿。...
    茶點(diǎn)故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡叫倍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豺瘤,到底是詐尸還是另有隱情吆倦,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布坐求,位于F島的核電站蚕泽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏桥嗤。R本人自食惡果不足惜须妻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望砸逊。 院中可真熱鬧璧南,春花似錦、人聲如沸师逸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篓像。三九已至动知,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間员辩,已是汗流浹背盒粮。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奠滑,地道東北人丹皱。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像宋税,于是被迫代替她去往敵國和親摊崭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容

  • ??支持離線 Web 應(yīng)用開發(fā)是 HTML5 的另一個重點(diǎn)。 ??所謂離線 Web 應(yīng)用,就是在設(shè)備不能上網(wǎng)的情況...
    霜天曉閱讀 1,036評論 0 2
  • 本文介紹本地?cái)?shù)據(jù)存儲的選型根时。簡單總結(jié)一些查詢到的關(guān)于本地?cái)?shù)據(jù)存儲的技術(shù)瘦赫。 控制臺展示前端存儲 Chrome: 前端...
    謝大見閱讀 9,074評論 1 8
  • 三種本地存儲方式 cookie 前言 網(wǎng)絡(luò)早期最大的問題之一是如何管理狀態(tài)。簡而言之蛤迎,服務(wù)器無法知道兩個請求是否來...
    流動碼文閱讀 4,976評論 0 3
  • 本文是我今年2月份發(fā)表在博客園上的文章确虱,平常做項(xiàng)目時便溫故一下。私以為忘苛,只有通過實(shí)踐才能將知識真正地內(nèi)化和吸收蝉娜,再...
    一個笑點(diǎn)低的妹紙閱讀 839評論 0 2
  • 姓名:陳龍 公司.:浙江美日智能裝備 組別:謙虛二組 【知~學(xué)習(xí)】 向不同行業(yè)的前輩的學(xué)習(xí) 【行~實(shí)踐】 奔波在路...
    春夏洗頭自然干閱讀 86評論 0 0