本地存儲之cookie、localStorage、sessionStorage

一、cookie存儲在本地,容量最大4k,在同源的http請求時攜帶傳遞,損耗帶寬,可設置訪問路徑,只有此路徑及此路徑的子路徑才能訪問此cookie,在設置的過時時間以前有效。可是cookie不適合大量數據的存儲,由於他們由每一個對服務器的請求來傳遞,這使得cookie速度很慢並且效率不高。

a、jquery設置cookie。expires過時時間jquery

$.cookie("mycookie","ok",{expires:7,path:"/"});api

b、jquery獲取cookie瀏覽器

$.cookie("mycookie");服務器

二、localStorage沒有時間限制的數據存儲,存儲在本地,容量爲5M或者更大,不會在請求時候攜帶傳遞,在全部同源窗口中共享,數據一直有效,除非人爲刪除,可做爲長期數據。

設置:cookie

localStorage.setItem("data","456");或者localStorage.data = "456";session

獲取:spa

localStorage.getItem("data");或者localStorage.datablog

刪除:接口

localStorage.removeItem("data")事件

三、sessionStorage針對一個session的數據存儲,存儲在本地,容量爲5M或者更大,不會在請求時候攜帶傳遞,在同源的當前窗口關閉前有效(當用戶關閉瀏覽器窗口後,數據會被刪除),但刷新頁面或使用「前進」、「後退按鈕」後sessionStorage仍然存在。

localStorage和sessionStorage合稱爲WebStorage,WebStorage支持事件通知機制,能夠將數據更新的通知監聽者,WebStorage的api接口使用更方便

注:iPhone的無痕瀏覽不支持WebStorage,只能使用cookie

相關文章
相關標籤/搜索