html5 localStorage本地存儲_動力節(jié)點Java學(xué)院整理

localStorage 即本地存儲,可用于長久保存整個網(wǎng)站的數(shù)據(jù),保存的數(shù)據(jù)沒有過期時間,直到手動去除。
在JavaScript語言中可通過 window.localStorage 或 localStorage 調(diào)用此對象。
特點
1) 同源策略限制。若想在不同頁面之間對同一個localStorage進(jìn)行操作,這些頁面必須在同一協(xié)議、同一主機(jī)名和同一端口下。(IE8和9存儲數(shù)據(jù)僅基于同一主機(jī)名,忽略協(xié)議(HTTP和HTTPS)和端口號的要求)
2) 只在本地存儲。localStorage的數(shù)據(jù)不會跟隨HTTP請求一起發(fā)送到服務(wù)器,只會在本地生效。
3) 永久保存。保存的數(shù)據(jù)沒有過期時間,直到手動去除。
4) 存儲方式。localStorage的存儲方式采用key、value的方式。value的值必須為字符串類型(傳入非字符串,也會在存儲時轉(zhuǎn)換為字符串。true值會轉(zhuǎn)換為"true")。
5) 存儲上限限制:不同的瀏覽器存儲的上限也不一樣,但大多數(shù)瀏覽器把上限限制在5MB以下。
6) 同瀏覽器共享。localStorage的數(shù)據(jù)可以在同一個瀏覽器的不同標(biāo)簽頁的同源頁面之間共享。
瀏覽器最小版本支持
支持localStorage瀏覽器的最小版本:IE8、Chrome 5。
適用場景
localStorage 比較適用2個地方:
1) 數(shù)據(jù)比較大的臨時保存方案。如在線編輯文章時的自動保存。
2) 多頁面訪問共同數(shù)據(jù)。sessionStorage只適用于同一個標(biāo)簽頁,localStorage相比而言可以在多個標(biāo)簽頁中共享數(shù)據(jù)。
屬性
readonly int localStorage.length :返回一個整數(shù),表示存儲在 localStorage 對象中的數(shù)據(jù)項(鍵值對)數(shù)量。
方法
string localStorage.key(int index) :返回當(dāng)前 localStorage 對象的第index序號的key名稱。若沒有返回null。
string localStorage.getItem(string key) :返回鍵名(key)對應(yīng)的值(value)。若沒有返回null。
void localStorage.setItem(string key, string value) :該方法接受一個鍵名(key)和值(value)作為參數(shù),將鍵值對添加到存儲中;如果鍵名存在,則更新其對應(yīng)的值。
void localStorage.removeItem(string key) :將指定的鍵名(key)從 localStorage 對象中移除。
void localStorage.clear() :清除 localStorage 對象所有的項。
事件
storage :當(dāng)對 localStorage 進(jìn)行更改時,觸發(fā)此事件。
在IE 11和Chrome中對此事件有不同的觸發(fā)機(jī)制:
1) 當(dāng)前頁面是否觸發(fā):當(dāng)前頁面進(jìn)行l(wèi)ocalStorage 操作時,IE 11是當(dāng)前頁面也觸發(fā)此事件,Chrome 是當(dāng)前頁面不觸發(fā)此事件。
2) 對localStorage進(jìn)行重復(fù)操作:如存入重復(fù)的數(shù)據(jù),IE 11是觸發(fā)此事件,Chrome 是不觸發(fā)此事件。
存儲數(shù)據(jù)
采用setItem()方法存儲
localStorage.setItem('testKey','這是一個測試的value值'); // 存入一個值
通過屬性方式存儲
localStorage['testKey'] = '這是一個測試的value值';
獲取數(shù)據(jù)
通過getItem()方法取值
localStorage.getItem('testKey'); // => 返回testKey對應(yīng)的值
通過屬性方式取值
localStorage['testKey']; // => 這是一個測試的value值
存儲Json對象
localStorage 也可存儲Json對象:存儲時,通過JSON.stringify()將對象轉(zhuǎn)換為文本格式;讀取時,通過JSON.parse()將文本轉(zhuǎn)換回對象。
var userEntity = { name: 'tom', age: 22 }; // 存儲值:將對象轉(zhuǎn)換為Json字符串 localStorage.setItem('user', JSON.stringify(userEntity)); // 取值時:把獲取到的Json字符串轉(zhuǎn)換回對象 var userJsonStr = localStorage .getItem('user'); userEntity = JSON.parse(userJsonStr); console.log(userEntity.name); // => tom
相關(guān)文章
HTML5 LocalStorage 本地存儲詳細(xì)概括(多圖)
這篇文章主要介紹了HTML5 LocalStorage 本地存儲,給標(biāo)簽元素添加屬性和瀏覽器兼容性都做了詳細(xì)概括,具體操作步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一2017-08-18localstorage和sessionstorage使用記錄(推薦)
通過閱讀各路大神對web存儲locastorage和sessionstorage的用法解析,深有感觸,下面小編把localstorage和sessionstorage使用記錄分享到腳本之家平臺,供大家參考2017-05-23- 本篇文章主要介紹了HTML5 LocalStorage 本地存儲 ,HTML5 storage提供了一種方式讓網(wǎng)站能夠把信息存儲到你本地的計算機(jī)上,并再以后需要的時候進(jìn)行獲取。有興趣的可以了解2016-12-23
- 這篇文章主要介紹了html5本地存儲 localStorage操作使用詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-20
- 下面小編就為大家?guī)硪黄狧TML5 本地存儲 LocalStorage詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-24
- 這篇文章主要介紹了HTML5中的新功能本地存儲localStorage,介紹了localStorage的本地存儲位置和幾個常用方法,需要的朋友可以參考下2016-03-01
- 這篇文章主要介紹了HTML5中Localstorage的使用教程,Localstorage被用于瀏覽器和系統(tǒng)交互的本地傳出,需要的朋友可以參考下2015-07-09
- 這篇文章主要介紹了localStorage的過期時間設(shè)置的方法詳解的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨2018-11-26