sessionStorage 、localStorage 和 cookie区别及使用
来源:互联网 发布:mac虚拟机共享文件 编辑:程序博客网 时间:2024/05/29 18:05
共同点
都是保存在浏览器端,且同源的。
不同点
cookie
1、会在请求时发送到服务器,作为会话标识,服务器可修改cookie;
2、cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下,子路径可以访问父路径cookie,父路径不能访问子路径cookie;
3、存储大小,浏览器不能保存超过300个cookie,单个服务器不能超过20个,每个cookie不能超过4k;
4、生命周期:在设置的有效期内有效,默认浏览器关闭;
5、共享:cookie在同源且符合path规则的文档之间共享
sessionStorage
1、不会自动把数据发给服务器,仅在本地保存
2、生命周期:生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了
3、共享:不同页面或标签页间无法共享sessionStorage的信息
4、大小:一般为5M
localStorage
1、不会自动把数据发给服务器,仅在本地保存
2、生命周期:除非被用户清除,否则永久保存
3、共享:相同浏览器的不同页面间(同源)可以共享相同的 localStorage(页面属于相同域名和端口)
4、大小:一般为5M
5、localStorage的修改会促发其他文档窗口的update事件
用法
cookie
设置:
document.cookie="userId=828"; //单个document.cookie="userName=aaaa"; document.cookie="userId=111; userName=aaaa"; //多个
获取:
var strCookie=document.cookie;//将多cookie切割为多个名/值对var arrCookie=strCookie.split(";"); var userId;//遍历cookie数组,处理每个cookie对for(var i=0;i<arrCookie.length;i++){ var arr=arrCookie[i].split("="); //找到名称为userId的cookie,并返回它的值 if("userId"==arr[0]){ userId=arr[1]; break; }}
设置时间
//其中GMT_String是以GMT格式表示的时间字符串,这条语句就是将userId这个cookie设置为GMT_String表示的过期时间,超过这个时间,cookie将消失,不可访问document.cookie="userId=828; expiress=GMT_String";
例子:设置10天后过期
//获取当前时间var date=new Date();var expiresDays=10;//将date设置为10天以后的时间date.setTime(date.getTime()+expiresDays*24*3600*1000);//将userId和userName两个cookie设置为10天后过期document.cookie="userId=828; userName=hulk; expires="+date.toGMTString();
删除
将其过期时间设定为一个过去的时间
//获取当前时间var date=new Date();//将date设置为过去的时间date.setTime(date.getTime()-10000);//将userId这个cookie删除document.cookie="userId=828; expires="+date.toGMTString();
设置路径
document.cookie="userId=320; path=/shop";//表示当前cookie仅能在shop目录下使用。
sessionStorage
判断浏览器是否支持
if(window.sessionStorage){ console.log('This browser supports sessionStorage');}else{ console.log('This browser does NOT support sessionStorage');}
设置
sessionStorage.setItem('key', 'value');sessionStorage.lastname="Smith";
获取
var data = sessionStorage.getItem('key');sessionStorage.lastname
删除
sessionStorage.removeItem('key');
清空所有数据
sessionStorage.clear();
获取长度
sessionStorage.length
localStorage
该用法与sessionStorage用法相同
浏览器兼容性
阅读全文
1 0
- sessionStorage 、localStorage 和 cookie区别及使用
- localStorage sessionStorage和cookie区别
- cookie和sessionStorage,localStorage区别
- LocalStorage和sessionStorage的使用及区别
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie、 sessionStorage 、localStorage之间的区别和使用
- cookie/sessionStorage/localStorage 的区别及用法
- cookie localStorage sessionStorage 区别
- cookie和sessionStorage和localStorage的区别
- sessionStorage 、localStorage 和 cookie 之间的区别
- sessionstorage,localstorage和cookie之间的区别
- xshell护眼配色方案
- static作用(修饰函数、局部变量、全局变量)
- 【备忘】2017甲骨论大数据管理与开发
- 关于Linux配置django环境
- Java中final、static关键字使用总结
- sessionStorage 、localStorage 和 cookie区别及使用
- 关于在线安装vs2017缺少头文件的解决办法
- Thinkphp的where条件
- asp.net使用微信发布模版消息核心代码
- 在Azure上部署微服务项目的经验分享
- linux不同类型包的安装
- RUBER: An Unsupervised Method for Automatic Evaluation of Open-Domain Dialog Systems
- 关于MySQL 1045等错误问题
- angular 路由跳转读取参数