javascript 操作cookie


cookie的组成:
cookie由以下几个部分组成:
1. name
2. value
3. 其他属性(max-age、path、domain、secure)

  • max-age:cookie存在的秒树,max-age=1000,即此cookie会在1000秒后被删除。
  • path和domain:域名和路径定义了一个cookie的可见范围,它告诉浏览器这个cookie的归属范围。出于安全原因,domain只能设置为当前域名的上层域名,比如在example.com下就不能把cookie的domain设置为a.example.com,而a.example.com可以设置cookie的domain为example.com,对于 path ,如果一个 cookie 的 path 为 /doc 那么在 /doc/ 下面的所有页面都能访问到这个 cookie (前提是 domain 也是满足要求)
  • secure 设置这个属性之后,cookie就成为一个secure cookie,只会在加密传输的时候携带该cookie。

1. 设置cookie 

直接在document.cookie上面赋值就好了,不会影响原有的cookie值```

function setCookie(name, value, dayToLive, option) {
   var cookie = name + '=' + encodeURI(value);
   if (typeof datToLive === 'number') {
      cookie += ';max-age=' + dayToLive * 24 * 60 * 60;
   }
  if (option) {
     for (var key in option) {
    if (key == 'domain') {
       cookie += ';domain=' + option[key];
    } else if (key == 'path'){
       cookie += ';path=' + option[key];
   } else {
       cookie += ';secure';
   }
   }
}
   document.cookie = cookie;
}

2. 获取cookie 
浏览器端无法拿到cookie的过期时间、domain、path等信息,多条cookie之间是通过(;空格)分割的 /;\s/

function getCookie (name) {
var cookie = document.cookie;
var cookieArr = cookie.split(/;\s/);
for (var i = 0; i < cookieArr.length; i++) {
var pair = cookieArr[i].split('=');
if (pair[0] == name) {
return decodeURI(pair[1]);
}
}
return null;
}

 

posted @ 2017-09-11 19:39  RunningAndRunning  阅读(218)  评论(0编辑  收藏  举报