前端开发日记之cookie的学习
2016-10-19 09:45
351 查看
session是运行在服务器,而cookie运行在客服端。
本次的需求是,用户登录的时候可以选择不同的角色登录,我们需要记录用户上一次选择登录的角色,以便在用户下一次登录时自动地选择用户上一次的登录角色。
cookie的生命周期
设置Cookie对象的有效时间, setMaxAge()方法便可以设置Cookie对象的有效时间,
例如:Cookie c = new Cookie("username","john");
c.setMaxAge(60);//60秒的意思
c.setMaxAge(60*60);//一小时
c.setMaxAge(365*24*60*60);//一年
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。
这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。
如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。
cookie.setmaxage设置为0时,会马上在浏览器上删除指定的cookie
cookie.setmaxage设置为-1时,代表关闭当前浏览器即失效。
贴上cookie操作的代码
本次的需求是,用户登录的时候可以选择不同的角色登录,我们需要记录用户上一次选择登录的角色,以便在用户下一次登录时自动地选择用户上一次的登录角色。
cookie的生命周期
设置Cookie对象的有效时间, setMaxAge()方法便可以设置Cookie对象的有效时间,
例如:Cookie c = new Cookie("username","john");
c.setMaxAge(60);//60秒的意思
c.setMaxAge(60*60);//一小时
c.setMaxAge(365*24*60*60);//一年
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。
这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。
如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。
cookie.setmaxage设置为0时,会马上在浏览器上删除指定的cookie
cookie.setmaxage设置为-1时,代表关闭当前浏览器即失效。
贴上cookie操作的代码
//设置或添加cookie time为小时数 function setCookie(name,value,time){ var str = name + "=" + escape(value); if(time > 0){ var date = new Date(); var ms = time*3600*1000; date.setTime(date.getTime() + ms); str += "; expires=" + date.toGMTString(); } document.cookie = str; } //获取cookie function getCookie(name){ //cookie中的数据都是以分号加空格区分开 var arr = document.cookie.split("; "); for(var i=0; i<arr.length; i++){ if(arr[i].split("=")[0] == name){ return escape(arr[i].split("=")[1]); //转码,预防中午乱码 } } //未找到对应的cookie则返回空字符串 return ''; } //删除cookie function removeCookie(name){ document.cookie = name+"=;expires="+(new Date(0)).toGMTString(); }
相关文章推荐
- web前端学习日记11----继续angular开发京东购物车
- web前端开发学习总结-1
- Django vs2015 学习开发日记1
- JAVA基础第六天学习日记_static关键字、文档、静态代码块、单例开发模式
- 前端开发体系建设日记
- web前端学习日记33
- web前端开发学习路径图
- 最新web前端开发学习视频教程下载(百G)
- web前端开发的学习内容:致那些有意学习web前端开发的人
- 前端开发基础学习笔记html标签
- 小程序开发之【前端开发】【学习第二节】【五】
- 前端开发学习随笔-------jquery.data()
- 前端开发人员2017年学习什么
- QtCreator插件开发之学习日记1
- NodeJS前端开发日记(1)搭建NodeJS+ExpressJS+AngularJS+Jade+LESS+Yeoman环境
- web前端学习日记8
- 转一篇前端开发人员总结的《JavaScript 学习资源推荐》
- 【前端学习笔记】深入学习Javascript:Cookie
- 我在阿里这仨月 前端开发流程 前端进阶的思考 延伸学习的方式很简单:google 一个关键词你能看到十几篇优秀的博文,再这些博文中寻找新的关键字,直到整个大知识点得到突破
- 以前搞前端开发的,现在想转java开发。以下是各种java学习资源