本地存储分为cookie,以及新增的localStorage和sessionStorage
- cookie 存储在本地,容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,在设置的过期时间之前有效。
//cookie的读和写需要在服务器环境下
//写cookie
//参数:名称、值、有效期几天、路径
$.cookie('mycookie','ok!',{expires:7,path:'/'});
//读cookie
var val = $.cookie('mycookie');
alert(val);//ok!
- localStorage 存储在本地,容量为5M或者更大,不会在请求时候携带传递,在所有同源窗口中共享,数据一直有效,除非人为删除,可作为长期数据。
//写入
//[{"id":1,"num":2,....},{}..]
localStorage.setItem('mystorage','ok!');
//读取
alert(localStorage.mystorage);//ok!
//写入
// sessionStorage.setItem('name','tom');
//读取
alert(sessionStorage.name);//tom//没有弹undefined
localStorage.setItem('mystorage','{"goods":["1","2"]}');
- sessionStorage 存储在本地,容量为5M或者更大,不会在请求时候携带传递,在同源的当前窗口关闭前有效。
localStorage 和 sessionStorage 合称为Web Storage , Web Storage支持事件通知机制,可以将数据更新的通知监听者,Web Storage的api接口使用更方便。
iPhone的无痕浏览不支持Web Storage,只能用cookie。
网友评论