码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 操作cookie

时间:2017-09-11 21:04:23      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:过期   其他   var   for   信息   air   无法   day   turn   


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;
}

 

javascript 操作cookie

标签:过期   其他   var   for   信息   air   无法   day   turn   

原文地址:http://www.cnblogs.com/running1/p/7506595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!