開發移動端項目,需要前端頁面存儲一些用戶數據是一個常見的功能,sessionStorage和localStorage就是常用的選擇,最近移動端項目用到sessionStorage時遇到一些問題,
(如:vivo手機自帶瀏覽器)問題如下:
A.html頁面記錄一條數據,
sessionStorage.setItem("data","123");
B.html頁面獲取數據
sessionStorage.getItem("data");//結果為null;
測試結果:其實並不是這個瀏覽器不支持sessionStorage,因為還能獲取到window.sessionStorage這個對象,sessionStorage是一個會話級別的存儲,有些瀏覽器在跳轉的時候是系統打開了一個新的webView,把原來的關了,也就相當於在瀏覽器打開了一個新的窗口。這樣就和sessionStorage原理沖突了,自然在新的頁面就獲取不到了;
由於業務邏輯需求,我還是選擇了sessionStorage;我的解決辦法是先存到localStorage; 用localStorage做了一個過渡,新的頁面window.localStorage.clear();