Web Storag是HTML5引入的一個(gè)非常重要的功能,可以將數(shù)據(jù)存儲(chǔ)在本地,如保存用戶的偏好設(shè)置、復(fù)選框的選中狀態(tài)、文本框默認(rèn)填寫的值等。用戶在瀏覽器中刷新網(wǎng)頁(yè)時(shí),網(wǎng)頁(yè)通過Web Storage就可以知道用戶之前所做的一些修改,而不需要將用戶修改的內(nèi)容存儲(chǔ)在服務(wù)器端。
Web Storage類似于Cookie,但相比Cookie可以減少網(wǎng)絡(luò)流量,因?yàn)閃eb Storage存儲(chǔ)的數(shù)據(jù)不會(huì)發(fā)送給服務(wù)器,而Cookie存儲(chǔ)的數(shù)據(jù)會(huì)由瀏覽器通過HTTP請(qǐng)求自動(dòng)發(fā)送給服務(wù)器。將數(shù)據(jù)存儲(chǔ)在WebStorage可以減少數(shù)據(jù)在瀏覽器和服務(wù)器間不必要地來回傳遞。
Web Storage中包含兩個(gè)關(guān)鍵的對(duì)象,分別是localStorage對(duì)象和sessionStorage對(duì)象,它們都是Web Storage的實(shí)例,所以都能使用Web Storage接口提供的方法和屬性。localStorage對(duì)象用于本地存儲(chǔ),sessionStorage對(duì)象用于區(qū)域存儲(chǔ)。
Web Storage具有以下5個(gè)特點(diǎn):
(1)數(shù)據(jù)的設(shè)置和讀取比較方便。
(2)容量較大,可以存儲(chǔ)大約5MB數(shù)據(jù)。
(3)只能存儲(chǔ)字符串,如果要存儲(chǔ)JSON對(duì)象,則可以使用JSON.stringify()和JSON.parseO方法分別進(jìn)行序列化和反序列化。
(4)本地?cái)?shù)據(jù)可以即時(shí)獲得。借助瀏覽器的緩存,整個(gè)頁(yè)面和數(shù)據(jù)都可以保存在本地,從本地讀數(shù)據(jù)比通過網(wǎng)絡(luò)從服務(wù)器獲得數(shù)據(jù)快得多,可以立即顯示網(wǎng)頁(yè)中緩存的內(nèi)容。
(5)數(shù)據(jù)可以臨時(shí)存儲(chǔ)。很多時(shí)候數(shù)據(jù)只需要在用戶瀏覽單個(gè)頁(yè)面期間使用,關(guān)閉頁(yè)面后數(shù)據(jù)就可以丟棄,這種情況使用sessionStorage非常方便。
目前,市面上主流的Web瀏覽器都在一定程度上支持HTML5的Web Storage,且iOS和Android兩大平臺(tái)對(duì)Web Storage都具有很好的支持。目前市面上的主流手機(jī)和平板計(jì)算機(jī)都依賴這兩個(gè)平臺(tái),所以在實(shí)際開發(fā)中,基本不需要擔(dān)心移動(dòng)設(shè)備的Web瀏覽器對(duì)Web Storage的支持情況。
Copyright ? 2013-2021 河南云和數(shù)據(jù)信息技術(shù)有限公司 豫ICP備14003305號(hào) ISP經(jīng)營(yíng)許可證:豫B-20160281