關於sessionStorage的移動端兼容問題

最近在開發移動端項目時,須要用到的本地存儲的地方很多。都是一些只要記住當前打開窗口的用戶數據就行,因此我選擇用的sessionStorage。使用場景以下:html

A.html頁面須要記錄一條數據{a:1,b:2};web

sessionStorage.setItem("data","{a:1,b:2}"); 

B.html頁面取出使用;瀏覽器

sessionStorage.getItem("data"); // 獲取結果爲null 

問題:若是項目不是單頁面復應用,AB是兩個html文件,須要跳轉href的。咱們會發現有些Andiron系統的瀏覽器在B頁獲取是到的結果是null (如:vivo手機自帶的世界之窗瀏覽器)。session

通過分析,其實這並非這個瀏覽器不支持sessionStorage,由於你仍是能獲取到sessionStorage這個對象的。而是由於sessionStorage是一個當前窗口的數據存儲格式,有些瀏覽器在跳轉新頁面的時候他系統是打開了一個新的webView,把原來的關了,也就至關於咱們在瀏覽器打開了一個新窗口。這樣他就跟咱們的sessionStorage原理衝突了,在新頁面固然就獲取不到咯。 因此建議你們作移動端的時候若是不是單頁面復應用的的項目最好不要使用sessionStorage。慎用!spa

相關文章
相關標籤/搜索