Sessionstorage 資料共享
關於此儲存方式用法總體介紹可以參閱sessionStorage 用法一章節。
本文專注於介紹一下如何實現sessionStorage 儲存資料的共享。
一.sessionStorage 儲存資料的特點:
localStorage儲存的資料能夠在客戶端本地永久儲存。
同域的任何頁面都可以訪問到localStorage儲存的資料。
但sessionStorage 與localStorage有著較大的不同,簡述如下:
(1).sessionStorage 受到同源策略限制。
(2).sessionStorage 儲存資料還受到瀏覽器選項卡的限制。
(3).手動新開一個選項卡,即便同域同URL,也不會共享sessionStorage 資料。
(4).當前選項卡關閉,sessionStorage 中儲存的資料也隨之被銷燬。
二.資料共享方式:
首先要明確一個概念,在新選項卡或者視窗開啟一個新的頁面,會新建立一個sessionStorage 會話。
上文闡述過,手動新開一個選項卡,即便同域同URL,也不會共享Sessionstorage資料。
但是並不是說就沒有辦法共享sessionStorage 儲存的資料,準確的說不是共享,而是拷貝一份。
(1).通過手動方式新開一個選項卡或者視窗不會共享資料。
(2).通過JavaScript或者連結<a>標籤開啟同源頁面會共享資料(準確說是拷貝一份),兩者是獨立的。
假設A頁面通過sessionStorage 儲存一些資料,頁面中有一個連結<a>指向同源的B頁面。
點選連結,在新的選項卡開啟B頁面,那麼A頁面的資料會被B頁面共享(事實是拷貝了一份)。
兩個頁面的資料是相互獨立的,在B頁面刪除一條記錄,並不會影響A頁面中的資料。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <script> sessionStorage.setItem("name","螞蟻部落"); sessionStorage.setItem("url","www.softwhy.com"); sessionStorage.setItem("address","青島市南區"); </script> </head> <body> <div></div> <a href="B.html" target="_blank">B頁面</> </body> </html>
對上述程式碼分析如下:
(1).首先,新增三條本地儲存資料。
(2).然後,點選連結<a>元素,跳轉到同源的B.html頁面。
(3).此時,你會發現B頁面拷貝了一份A頁面的sessionStorage 資料。
(4).特別注意的是,這兩份資料是完全獨立的,各自的操作不會影響對方。
相關文章
- sessionStorage 能在多個標籤頁之間共享資料嗎?Session
- Chrome89針對sessionStorage的更新導致資料共享問題ChromeSession
- sessionStorage:提供瀏覽會話資料的儲存Session會話
- sessionStorageSession
- XP資料夾共享
- Application共享資料APP
- 共享大資料好資源大資料
- sessionStorage 用法Session
- 微信小程式--資料共享與方法共享微信小程式
- Flutter 資料共享 InheritedWidgetFlutter
- WebService共享資料的使用Web
- laravel 檢視資料共享Laravel
- javascript iframe資料共享介面JavaScript
- 隱性資料的共享
- python共享資料夾Python
- fragment之間相互傳資料、共享資料Fragment
- win 建立共享資料夾(共享需要密碼,共享後打不開)密碼
- sessionStorage.lengthSession
- sessionStorage.removeItem()SessionREM
- sessionStorage.setItem()Session
- sessionStorage.clear()Session
- sessionStorage.getItem()Session
- sessionStorage.key()Session
- cookie、sessionStorage、localStorageCookieSession
- cookie, sessionStorage, localStorageCookieSession
- Vuex如何實現資料共享Vue
- 拓端:共享汽車資料印象
- 【SpringMVC】域物件共享資料SpringMVC物件
- Laravel前後臺共享資料Laravel
- 如何在程式間共享資料
- 微服務中的資料共享微服務
- 企業雲盤 資料資產管理與資料共享
- localStorage、sessionStorage、Cookie的SessionCookie
- rk3288 開發資料共享
- JAVA多執行緒共享資料Java執行緒
- Ubuntu訪問Windows共享資料夾UbuntuWindows
- 關於資料共享的問題
- SQL SERVER與ORACLE的資料共享SQLServerOracle