js操作cookie
来源:互联网 发布:流媒体直播软件 编辑:程序博客网 时间:2024/05/20 18:17
一.js获取cookies
var cookiesStr = document.cookie;
cookiesStr为所有cookie组成的字符串,形如:name=ceshi;sex=1;..... 不同cookie以‘;’相连接。
因此如果想要获取某一个cookie的值,就只能用处理字符串的方法了,比较流行的做法:先split,而后indexOf,
function getCookie(key) { var cookiesStr = document.cookie; var cookiesArr = cookiesStr.split(';'); for(var i=0;i<cookiesArr.length;i++){ if(cookiesArr[i].indexOf(key)>=0){ var itemArr=cookiesArr[i].split('='); if(itemArr.length>1){ return itemArr[1]; } } }return null;}当然我更推荐用正则表达式
function getCookie(key){var r=new RegExp(key+"=(\\w+);","i");var result=r.exec(document.cookie);if(result!=null&&result.length>1){return result[1];}return null;}
二.js设置cookie
1.简单设置
document.cookie='name=suo';以上代码,设置了一个key为name,值为suo的cookie,该cookie没有设置过期时间,当浏览器关闭时,自动失效
2.带过期时间
var d=new Date();d.setDate(d.getDate()+1);document.cookie='name=suo;expires='+d.toGMTString();设置cookie一天后过期
3.带路径
var d=new Date();d.setDate(d.getDate()+1);document.cookie='name=suo;path=/;expires='+d.toGMTString();设置cookie一天后过期,且在根路径下,不设置路径时,路径默认为当前路径,不设置路径会有一个比较坑的问题,在删除时讲到
三.删除cookie
var d=new Date();d.setDate(d.getDate()-1);document.cookie='name=suo;expires='+d.toGMTString();当过期时间小于当前时间时,cookie就会被删除,那么问题来了,有时候我们发现,怎么删都删不掉一个cookie,这是为啥呢?因为cookie是先通过path 再通过key来查找的!
也就是说,通过path和cookie的key来唯一标识一个cookie,上面的代码没有写path,那就是当前路径下key为name的cookie要被删除,如果你设name时的路径和当前路径不同,
那就删不掉了,所以推荐在设置cookie时,设置一个path=/
阅读全文
0 0
- cookie.js js操作cookie
- jquery.cookie.js操作cookie-
- jquery.cookie.js操作Cookie
- jquery.cookie.js操作Cookie
- JS脚本操作COOKIE
- JS 对 cookie 操作
- js cookie 的操作
- JS操作Cookie详解
- JS操作Cookie详解
- js 操作cookie详解
- JS进行Cookie操作
- JS操作COOKIE
- js cookie 的操作
- js操作cookie
- JS 操作Cookie 类
- JS操作Cookie 大全
- JS操作Cookie
- JS操作Cookie
- nginx安装和使用
- Uncaught SyntaxError: Unexpected end of input 解决办法
- cout进行输出时为啥不加endl,也能立即显示输出内容?
- java操作xml之dom4j中的xpath实现用户登陆验证
- Pycharm创建Flask项目访问异常缓慢解决方法
- js操作cookie
- HDU1864 最大报销额(01背包)
- 【学生】实时错误91
- Linux在文件夹下查找指定字符串
- 数据归档
- kvm-Openstack
- 原始caffe添加CenterLoss_layer
- 网络安全工程师,念念不忘,必有回响
- 点击哪个,哪个下面的颜色变化