js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总
来源:互联网 发布:单片机与红外线 编辑:程序博客网 时间:2024/05/05 23:20
var cookie =name+'='+encodeURIComponent(value)+';' //设置Cookie的名称和Cookie的值,Cookie名称为必填项。
cookie+=';max-age='+(day*60*60*24); //设置Cookie的过期事件,默认为Session
}
function getCookie(name){
document.cookie='cookie_name=cookie_value5;path=/;'+'max-age=Session;'
document.cookie='cookie_name=cookie_value4;path=/;domain='+'www.site.net;max-age=Session;'
document.cookie='cookie_name=cookie_value3;path=/;domain='+'.site.net;max-age=Session;'
document.cookie='cookie_name=cookie_value2;path=/xxxx;domain='+'.site.net;max-age=222222;'
执行读Cookie的方法时,getCookie('cookie_name'),是把document.cookie中出现的第一个,Cookie名称为cookie_name的值读取出来(如果全部执行上述代码,getCookie('cookie_name')的返回值为cookie_value5)。
在执行document.cookie(写Cookie)时,是一个累加的过程。
document.cookie = 原来的Cookie(document.cookie)+ 现在需要写入的Cookie;
注:如果在写一个,同路径(path相同),且同域(domain值相同),Cookie名称相同(如Cookie名称为 C1),(除了Cookie值和存储时长外)全部相同的,浏览器处理逻辑为。
1)删除原来的Cookie(名称为相同Cookie名称的C1的Cookie);
2)执行document.cookie = 原来的Cookie(document.cookie)+ 现在需要写入的Cookie(名称为C1的Cookie);
JS删除Cookie的原理
正是因为Cookie处理逻辑(在执行document.cookie(写Cookie),是一个累加的过程,见上面描述),所以js才可以实现对未过期的Cookie进行删除操作。
删除Cookie有两种办法:
1,把它的值设置为空;
写一个同名(name值相同),同域(domain值相同),同路径(path值相同),同时长/不同时长(max-age/expires值相同/不同),但值为空(value为空)的Cookie;
2,把这个Cookie的过期时间设置为已经过去的一个时间点,例如,昨天,去年。
写一个同名(name值相同),同域(domain值相同),同路径(path值相同),值为空/不为空(value为空/不为空)的Cookie,但时长为过去时间/值为下一毫秒就过期(max-age/expires的值为上一分钟,去年,昨天等值,或者为max-age=1毫秒等);
1、js无法读取Cookie的domain属性;
2、Cookie的Secure属性,如果设置了,则只有在HTTPS的协议下,才能传递值,HTTP协议下读不到该值。
3、在写Cookie时,如果设置了path路径不是/,而是固定的一个路径,那么只有在该路径下的页面中执行读取Cookie,才可以读取数据。
4、想要读取父域中Cookie的值,需要将这个Cookie的域写为(.site.com),如果写为(site.com)则只有http://site.com中才可以读取到值。http://www.site.com可以读取(.site.com)以及(www.site.com)、(.www.site.com)域中cookie的值。
注:Cookie存储在.site.com site.com中是两种概念,所有存储域是以 . (英文点) 开始的,标示是开放域,存储在这样域下的Cookie,是可以在当前域下的所有子域,孙域,都可以读取,非开放域(不是以英文点开始的存储域),只能在当前域中读取到。同级域无法共通(也就是在s1.site.com网页,无法读取到.www.site.com存储的Cookie)
- js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总
- js手动存储cookie
- js cookie 存储封装
- js存储cookie与读取cookie
- 解决js存储中文cookie乱码问题
- cookie 存储
- cookie存储
- Cookie存储
- cookie存储
- cookie存储
- JS存储cookie读取cookie删除cookie详细用法
- JS 本地存储-web Storage+js读写cookie
- JS--中的 Cookie 与存储
- OkhttpUtils的Cookie存储问题
- JS读写cookie
- js 读写cookie
- js读写cookie
- js 读写cookie
- 浅谈Linux用户态和内核态
- HDU3336-Count the string
- OC 练习-通讯录
- MySQL引擎(转)
- 算法分析经典数据,让你轻松KO算法!
- js读写Cookie问题(Cookie存储时长、Cookie存储域)汇总
- Tyvj1821 [JSOI2008]最大值
- 39岁研究生毕业14年的经验和教训
- 【leetcode】80. Remove Duplicates from Sorted Array II
- 可控硅及其应用 -- 功率调节、电机调速
- 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- spring mvc做上传图片,文件小于10k就不生成临时文件了
- Cocos2dx 动作类-Action
- 18 Loader 总结