cookie
- cookie是客戶端的會(huì)話跟蹤技術(shù)(服務(wù)端為session)
- 作用: 將數(shù)據(jù)存儲(chǔ)在瀏覽器中
- 生命周期:
- 默認(rèn)是一次會(huì)話(瀏覽器關(guān)閉)
- 如果通過expires=設(shè)置了過期時(shí)間, 并且過期時(shí)間沒有過期, 那么下次打開瀏覽器還是存在
- 如果通過expires=設(shè)置了過期時(shí)間, 并且過期時(shí)間已經(jīng)過期了,那么會(huì)立即刪除保存的數(shù)據(jù)
- 注意點(diǎn):
- cookie不能一次性存儲(chǔ)多條數(shù)據(jù),要想保存數(shù)據(jù),必須一條一條的設(shè)置
- cookie默認(rèn)不會(huì)保存任何的數(shù)據(jù)
- cookie有大小和數(shù)量的限制:
- 數(shù)量: 20~40個(gè)
- 個(gè)數(shù): 4KB左右
- cookie的作用范圍:
- 在同一瀏覽器下,如果在當(dāng)前瀏覽器中保存了數(shù)據(jù),那么它的下一級(jí)路徑下的瀏覽器也可以訪問
- 在同一個(gè)瀏覽器下,如果在當(dāng)前瀏覽器保存了數(shù)據(jù),如果想要上級(jí)訪問,需要在path屬性上添加/
- 作用范圍的注意點(diǎn):
- 跨域的瀏覽器不能訪問同一個(gè)cookie,需要訪問則需要加一個(gè)domain的屬性,值為域名
- cookie的保存格式
var date = new Date();
date.setDate(date.getDate() + 1);
document.cookie("name = xxz;path=/;domain=baidu.com;expires = "+date.toGMTString()+";",
hash
- hash也是一種儲(chǔ)存瀏覽器數(shù)據(jù)的方式
- 特點(diǎn): 瀏覽器url后面會(huì)加上#和hash保存的數(shù)據(jù)
- 存儲(chǔ)格式: window.location.hash = 值;
H5提供的新的存儲(chǔ)方案
- 以下新增方案都具備以下特點(diǎn),可以彌補(bǔ)cookie和hash的不足
- 特點(diǎn):
- 設(shè)置椭员、讀取方便民宿、頁面刷新不丟失數(shù)據(jù)
- 容量較大,sessionStorage約5M、localStorage約20M
- 只能存儲(chǔ)字符串蹭沛,可以將對(duì)象JSON.stringify() 編碼后存儲(chǔ)
window.sessionStorage
- 容量約為5M
- 生命周期為關(guān)閉瀏覽器窗口
- 在同一個(gè)窗口(頁面)下數(shù)據(jù)可以共享
- 格式:
- window.sessionStorage.setItem('name', 'lnj');
- 獲取用getItem,刪除用removeItem,刪除所有用clear
window.localStorage
- 除了特點(diǎn)有所不同,其余和sessionStorage完全相同