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