本地存儲

本地存儲: localstorage && sessionstoragehtml

1、html5

1.過時:    localstorage: 用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的。ajax

                sessionstorage : 關閉瀏覽器或者從新打開,都會過時的。算法

2.瀏覽器支持:   ie8以上都支持。json

3.內存 canvas

  key ---->value跨域

4. API    setItem存儲 key和value     localstorage.setItem(" key", "value")數組

     getItem 獲取value     localstorage.getItem( "key");瀏覽器

     removeItem 刪除key   localStorage.removeItem("key");cookie

       clear清除全部的key/value        localStorage.clear();

2、本地存儲均可以存些什麼東西呢?

1. 數組     --->序列化字符串的,再存儲到localstorage裏
2. json數據   --->序列化字符串的,再存儲到localstorage裏

3. 圖片 (base64, 能夠用canvas輸出)

4. 腳本    ---->經過ajax請求後把responseText文件存儲到localstorage裏

5. 樣式文件
---->經過ajax請求後把responseText文件存儲到localstorage裏

3、localstorage使用限制:
一、localstorage是永不過時的,須要業務本身存儲更新策略,過時控制
   二、各個子域名之間不能共享存儲數據(能夠藉助html5的postmessage作跨域處理),cookie能夠
三、超出存儲大小是能夠藉助LRU,FIFO算法淘汰舊的
四、server端要想取到,須要跟在post請求或者get請求後面,以達到訪問目的 (localstorage只支持客戶端)。

4、
本地存儲注意事項:
1. 使用前要判斷瀏覽器是否支持 (瀏覽器開啓無痕模式後不能用, 有的可讀但不可寫,因此不能用 if(window.localStorage){}來作兼容處理 先set,而後再捕獲異常)
2. 寫數據的時候須要用異常處理,避免超出容量報錯
3. 敏感信息不要存
4. 注意key的惟一性, 會被覆蓋  (一個key對應一個value,一個key對應兩個value,後面的會覆蓋前面的)。
相關文章
相關標籤/搜索