HTML5 提供了兩種在客戶端存儲數據的新方法:瀏覽器
以前,這些都是由 cookie 完成的。可是 cookie 不適合大量數據的存儲,由於它們由每一個對服務器的請求來傳遞,這使得 cookie 速度很慢並且效率也不高。緩存
使用方法:服務器
localStorage.setItem("menuTitle", arrDisplay);
sessionStorage.getItem('key_null')
sessionStorage.removeItem('page')
localStorage.clear()
監聽本地存儲發生變化的函數
window.addEventListener("storage",function(e){本地存儲發生變化時執行的函數XXXXXX},true);
在作項目的過程當中遇到少有的safari瀏覽器 H5本地存儲不支持的狀況,剛開始覺得是手機型號和IOS版本的關係,通過對比排查發現是手機開啓了無痕瀏覽的緣由致使的,查了一下總結以下:cookie
手機Safari瀏覽器中具體表現是:session
Safari中控制檯截圖
函數
判斷瀏覽器是否無痕瀏覽模式spa
if (typeof localStorage === 'object') { try { localStorage.setItem('localStorage', 1); localStorage.removeItem('localStorage'); return true; } catch (e) { //Storage.prototype._setItem = Storage.prototype.setItem; //Storage.prototype.setItem = function() {}; alert('不支持本地存儲'); return false; } }