html5 sessionStorage會話存儲_動力節(jié)點Java學(xué)院整理

sessionStorage 是HTML5新增的一個會話存儲對象,用于臨時保存同一窗口(或標(biāo)簽頁)的數(shù)據(jù),在關(guān)閉窗口或標(biāo)簽頁之后將會刪除這些數(shù)據(jù)。本篇主要介紹sessionStorage(會話存儲)的使用方式。包括添加、修改、刪除等操作。
sessionStorage 是HTML5新增的一個會話存儲對象,用于臨時保存同一窗口(或標(biāo)簽頁)的數(shù)據(jù),在關(guān)閉窗口或標(biāo)簽頁之后將會刪除這些數(shù)據(jù)。
在JavaScript語言中可通過 window.sessionStorage 或sessionStorage 調(diào)用此對象。
特點
1) 同源策略限制。若想在不同頁面之間對同一個sessionStorage進行操作,這些頁面必須在同一協(xié)議、同一主機名和同一端口下。(IE 8和9存儲數(shù)據(jù)僅基于同一主機名,忽略協(xié)議(HTTP和HTTPS)和端口號的要求)
2) 單標(biāo)簽頁限制。sessionStorage操作限制在單個標(biāo)簽頁中,在此標(biāo)簽頁進行同源頁面訪問都可以共享sessionStorage數(shù)據(jù)。
3) 只在本地存儲。seesionStorage的數(shù)據(jù)不會跟隨HTTP請求一起發(fā)送到服務(wù)器,只會在本地生效,并在關(guān)閉標(biāo)簽頁后清除數(shù)據(jù)。(若使用Chrome的恢復(fù)標(biāo)簽頁功能,seesionStorage的數(shù)據(jù)也會恢復(fù))。
4) 存儲方式。seesionStorage的存儲方式采用key、value的方式。value的值必須為字符串類型(傳入非字符串,也會在存儲時轉(zhuǎn)換為字符串。true值會轉(zhuǎn)換為"true")。
5) 存儲上限限制:不同的瀏覽器存儲的上限也不一樣,但大多數(shù)瀏覽器把上限限制在5MB以下。
瀏覽器最小版本支持
支持sessionStorage的瀏覽器最小版本:IE8、Chrome 5。
適合場景
sessionStorage 非常適合SPA(單頁應(yīng)用程序),可以方便在各業(yè)務(wù)模塊進行傳值。
屬性
readonly intsessionStorage.length:返回一個整數(shù),表示存儲在 sessionStorage對象中的數(shù)據(jù)項(鍵值對)數(shù)量。
方法
string sessionStorage.key(int index) :返回當(dāng)前sessionStorage 對象的第index序號的key名稱。若沒有返回null。 stringsessionStorage.getItem(string key) :返回鍵名(key)對應(yīng)的值(value)。若沒有返回null。 voidsessionStorage.setItem(string key, string value) :該方法接受一個鍵名(key)和值(value)作為參數(shù),將鍵值對添加到存儲中;如果鍵名存在,則更新其對應(yīng)的值。 voidsessionStorage.removeItem(string key) :將指定的鍵名(key)從sessionStorage 對象中移除。 voidsessionStorage.clear() :清除sessionStorage 對象所有的項。
存儲數(shù)據(jù)
采用setItem()方法存儲
sessionStorage.setItem('testKey','這是一個測試的value值'); // 存入一個值
通過屬性方式存儲
sessionStorage['testKey'] = '這是一個測試的value值';
讀取數(shù)據(jù)
通過getItem()方法取值
sessionStorage.getItem('testKey'); // => 返回testKey對應(yīng)的值
通過屬性方式取值
sessionStorage['testKey']; // => 這是一個測試的value值
存儲Json對象
sessionStorage也可存儲Json對象:存儲時,通過JSON.stringify()將對象轉(zhuǎn)換為文本格式;讀取時,通過JSON.parse()將文本轉(zhuǎn)換回對象。
var userEntity = { name: 'tom', age: 22 }; // 存儲值:將對象轉(zhuǎn)換為Json字符串 sessionStorage.setItem('user', JSON.stringify(userEntity)); // 取值時:把獲取到的Json字符串轉(zhuǎn)換回對象 var userJsonStr = sessionStorage.getItem('user'); userEntity = JSON.parse(userJsonStr); console.log(userEntity.name); // => tom
以上所述是小編給大家介紹的html5 sessionStorage會話存儲,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
- Microdata作為HTML5新增的一個特性,它允許開發(fā)者在HTML文檔中添加更多的語義信息,以便于搜索引擎和瀏覽器更好地理解頁面內(nèi)容,本文將探討HTML5中Microdata的使用方法以及2025-04-21
- 在HTML語法中,表格主要通過< table >、< tr >和< td >3個標(biāo)簽構(gòu)成,本文通過實例代碼講解HTML5表格語法格式,感興趣的朋友一起看看吧2025-04-21
- 這篇文章主要介紹了HTML5中使用媒體查詢和Flexbox進行響應(yīng)式布局的方法,簡要介紹了CSS Grid布局的基礎(chǔ)知識和如何實現(xiàn)自動換行的網(wǎng)格布局,感興趣的朋友一起看看吧2025-04-21
基于Canvas的Html5多時區(qū)動態(tài)時鐘實戰(zhàn)代碼
本文介紹了如何使用Canvas在HTML5上實現(xiàn)一個多時區(qū)動態(tài)時鐘的web展示,通過Canvas的API,可以繪制出6個不同城市的時鐘,并且這些時鐘可以動態(tài)轉(zhuǎn)動,每個時鐘上都會標(biāo)注出對應(yīng)的2025-03-11HTML5 data-*自定義數(shù)據(jù)屬性的示例代碼
HTML5的自定義數(shù)據(jù)屬性(data-*)提供了一種標(biāo)準(zhǔn)化的方法在HTML元素上存儲額外信息,可以通過JavaScript訪問、修改和在CSS中使用,文章還介紹了高級用法,如存儲JSON數(shù)據(jù)、事2025-03-11HTML5中下拉框<select>標(biāo)簽的屬性和樣式詳解
在HTML5中,下拉框(<select>標(biāo)簽)作為表單的重要組成部分,為用戶提供了一個從預(yù)定義選項中選擇值的方式,本文將深入探討<select>標(biāo)簽的屬性、樣式,并重點介2025-02-27- 本文介紹了HTML5InputDatePicker對象表示HTML``元素,是HTML5中的新對象,介紹了日期、周、月份、時間、日期+時間、本地日期時間等不同類型的日期選擇器,感興趣的朋友一起看2025-02-17
- 本文介紹了HTML5中的超鏈接、相對路徑和圖片的使用方法,超鏈接可以創(chuàng)建指向另一個文檔或頁面內(nèi)部書簽的鏈接,相對路徑用于在同一服務(wù)器內(nèi)部跳轉(zhuǎn)頁面,圖片標(biāo)簽用于引入外部圖2025-02-17
- 本文介紹了HTML5超鏈接的創(chuàng)建方法,包括基本語法、創(chuàng)建圖像超鏈接的邊框去除方法以及錨點鏈接的使用,還討論了超鏈接的四種不同狀態(tài)(link、visited、hover、active)的CSS樣2025-02-17
HTML5使用details標(biāo)簽:展開/收縮信息
最近看一些技術(shù)網(wǎng)站發(fā)現(xiàn)了details 標(biāo)簽的妙用,這個不用js即可實現(xiàn)展開/收縮信息,很方便用來讓用戶先才答案,然后下面點擊再給出答案的效果,這里就為大家簡單介紹一下,2024-11-03