HTMl5的sessionStorage和localStorage的使用

  • html5中的Web Storage包括了兩種存儲方式:sessionStorage和localStorage。
  • sessionStorage用于本地存儲一個會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個會話中的頁面才能訪問并且當(dāng)會話結(jié)束后數(shù)據(jù)也隨之銷毀。因此sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。

  • localStorage用于持久化的本地存儲,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會過期的。

  • Web Storage的概念和cookie相似,區(qū)別是它是為了更大容量存儲設(shè)計的。Cookie的大小是受限的,并且每次你請求一個新的頁面的時候Cookie都會被發(fā)送過去,這樣無形中浪費了帶寬,另外cookie還需要指定作用域,不可以跨域調(diào)用。

  • Web Storage擁有setItem,getItem,removeItem,clear等方法,不像cookie需要前端開發(fā)者自己封裝setCookie,getCookie。

  • Web Storage僅僅是為了在本地“存儲”數(shù)據(jù)而生

  • localStorage與SessionStorge有相同時方法,區(qū)別在于localStorge屬于永久性存儲,SessionStorge屬于會話存儲。

常用操作:

sessionStorage.getItem(key):獲取指定key本地存儲的值
sessionStorage.setItem(key,value):將value存儲到key字段
sessionStorage.removeItem(key):刪除指定key本地存儲的值
sessionStorage.length是sessionStorage的項目數(shù)

參考文獻:HTMl5的sessionStorage和localStorage


用例1:

1.在進入對應(yīng)功能頁時發(fā)起ajax請求獲取json數(shù)據(jù);
2.在該功能頁或其子頁面使用Sessionstorge中數(shù)據(jù)。


用例2:

查看本地SessionStorage中是否有所需字段,沒有則ajax請求獲取,有就從SessionStorage中取。
Paste_Image.png

注意:該種方式下,注意其他頁面更改緩存后要清除緩存,從而到服務(wù)器獲取新的數(shù)據(jù)

Paste_Image.png

對比與總結(jié):

SessionStorge便于在客戶端存儲常用的數(shù)據(jù),避免反復(fù)向服務(wù)器請求數(shù)據(jù)。用例1只在每次進入功能頁時請求一次,然后就可以使用SessionStorge中的數(shù)據(jù),簡便、易實現(xiàn)。用例2只有首次進入功能頁以及涉及的SessionStorge字段被更改時請求,請求數(shù)量少、訪問速度快、用戶體驗佳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容