摘要:存儲(chǔ)大小一般瀏覽器支持的是大小,不同瀏覽器會(huì)有所不同。一般我們會(huì)將存入中,但是在會(huì)自動(dòng)將轉(zhuǎn)換成為字符串形式。即可得到存儲(chǔ)的值,實(shí)現(xiàn)不同標(biāo)簽頁(yè)之間的通信。和對(duì)比和的區(qū)別屬于永久性存儲(chǔ),而屬于當(dāng)前會(huì)話結(jié)束的時(shí)候,中的鍵值對(duì)會(huì)被清空。
1. localStorage:
存儲(chǔ)大?。阂话銥g覽器支持的是5M大小,不同瀏覽器會(huì)有所不同。
是H5的新特性,兼容性不是很好。
目前所有的瀏覽器都會(huì)把localStorage的值類型限定為string類型,這個(gè)在對(duì)我們?nèi)粘1容^常見(jiàn)的JSON對(duì)象類型需要一些轉(zhuǎn)換。
localStorage在瀏覽器的隱私模式下是不可讀取的。
localStorage 本質(zhì)上是對(duì)字符串的讀取,如果存儲(chǔ)內(nèi)容多,會(huì)消耗內(nèi)存空間,會(huì)導(dǎo)致頁(yè)面變卡。
localStorage不會(huì)被爬蟲(chóng)抓取到。
localStorage只支持string類型的存儲(chǔ)。一般我們會(huì)將JSON存入localStorage中,但是在localStorage會(huì)自動(dòng)將localStorage轉(zhuǎn)換成為字符串形式。這個(gè)時(shí)候我們可以使用JSON.stringify()這個(gè)方法,來(lái)將JSON轉(zhuǎn)換成為JSON字符串。讀取之后要將JSON字符串轉(zhuǎn)換成為JSON對(duì)象,使用JSON.parse()方法:
let storage = window.localStorage; let data = { name: "aaa", sex: "man", hobby: "program" }; let dataString = JSON.stringify(data); storage.setItem("data", dataString); let json = storage.getItem("data"); let jsonObj = JSON.parse(json); console.log("json", json); console.log("jsonObj", jsonObj); console.log("ffffdd", typeof jsonObj);
方法和屬性:
添加鍵值對(duì):setItem(key, value);
獲取鍵值對(duì):getItem(key);
刪除鍵值對(duì):removeItem(key);
清除所有鍵值對(duì):clear();
獲取鍵名稱:key(index);
(屬性)獲取localStorage中保存的鍵值對(duì)的數(shù)量:length。
獲取鍵值對(duì):
for (let i = 0; i < localStorage.length; i++) { let key = localStorage.key(i); let value = localStorage.getItem(key); }
事件:
storage事件:瀏覽器在localStorage數(shù)據(jù)變化(真正的發(fā)生變化)之后給你的一個(gè)通知。
包含的屬性:
storageArea: 表示存儲(chǔ)類型(session或local)
key:發(fā)生改變項(xiàng)的key
oldValue:key的原值
newValue: key的新值
url: key 改變發(fā)生的URL(有些早期版本中使用的是uri屬性)
這個(gè)事件兼容性好像不好,要少用。
localStorage存儲(chǔ)的數(shù)據(jù)是不能跨瀏覽器共用的,一個(gè)瀏覽器只能讀取各自瀏覽器的數(shù)據(jù),儲(chǔ)存空間5M.
如何實(shí)現(xiàn)兩個(gè)標(biāo)簽頁(yè)的數(shù)據(jù)交互:
調(diào)用localStorage:
在一個(gè)標(biāo)簽頁(yè)里面使用 localStorage.setItem(key,value)添加(修改、刪除)內(nèi)容;在另一個(gè)標(biāo)簽頁(yè)里面監(jiān)聽(tīng) storage 事件。即可得到 localstorge 存儲(chǔ)的值,實(shí)現(xiàn)不同標(biāo)簽頁(yè)之間的通信。
將要傳遞的信息存儲(chǔ)在cookie中,每隔一定時(shí)間讀取cookie信息,即可隨時(shí)獲取要傳遞的信息。
2. localStorage 和 cookie 對(duì)比: 3. localStorage 和 sessionStorage 的區(qū)別:localStorage屬于永久性存儲(chǔ),而sessionStorage屬于當(dāng)前會(huì)話結(jié)束的時(shí)候,sessionStorage中的鍵值對(duì)會(huì)被清空。
4. 參考:https://www.jianshu.com/p/e4e...
https://www.jianshu.com/p/e3d...
https://segmentfault.com/a/11...
https://segmentfault.com/a/11...
https://www.jianshu.com/p/707...
https://juejin.im/post/5aede2...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/106256.html
閱讀 2078·2023-04-25 22:42
閱讀 2284·2021-09-22 15:16
閱讀 3541·2021-08-30 09:44
閱讀 546·2019-08-29 16:44
閱讀 3369·2019-08-29 16:20
閱讀 2579·2019-08-29 16:12
閱讀 3450·2019-08-29 16:07
閱讀 723·2019-08-29 15:08