JavaScript cookie

/*设置cookie*/
function setCookie(c_name,c_value,expires){
    var date = new Date();
    date.setTime(date.getTime()+(expires*60*1000));
    document.cookie = c_name + "=" + c_value + ";
    expires=" + date.toGMTString();
}
/*上面这个函数中的参数存有 cookie 的名称、值以及过期天数。首先将天数转换为有效的日期,
然后,将 cookie 名称、值及其过期日期存入 document.cookie 对象*/
function getCookie(c_name){
    var name = c_name +"=";    
    var Cookie = document.cookie.split(';');    
    for(var i=0; i 
    

cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)、空格,以及中文(会出现错误或乱码问题)。 如果必须使用上述的特殊字符,则需要用escape()函数进行编码(以16进制数的形式转码)存储;如果想要读取含特殊字符和中文的cookie值,在取出值后需要使用unescape()进行解码才能得到原来的cookie值 ;


cookie()的使用

首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件。

 
 
或者
 

jquery.cookie.js的使用

 var time = "username"   //cookie的名称
 var date = new Date();  //获取当前时间
 date.setTime(date.getTime() + 300000); //系统当前时间+5分钟    
 $("cookie").val($.fn.cookie(time));//将name = username的cookie值赋给id=cookie的标签
 var detailTime = $("input").text();//获取input的值
 var admin = $("#takerTime").val(detailTime) //获取到的之赋给id=takerTime的input
 $.cookie(time,admin,{path:"/", expires:date})

zepto.cookie.js的使用

 var time = "username"   //cookie的名称
 var date = new Date();  //获取系统时间
 date.setTime(date.getTime() + 300000); //系统当前时间+5分钟    
 $("cookie").val($.fn.cookie(time));//将name = username的cookie值赋给id=cookie的标签
 var detailTime = $("input").text();//获取input的值
 var admin = $("#takerTime").val(detailTime) //获取到的之赋给id=takerTime的input
 $.fn.cookie(time,admin,{path:"/",expires:date})

参数说明

  1. 语法:$.cookie(cookie名,cookie值 , {路径,cookie有效时间 })

  2. $.cookie(time); 读取保存在cookie中名为的time的值。

  3. $.cookie(time,admin); 将值admin写入cookie名为time的cookie中。

  4. {path:”/”,expires:date} date=〉cookie保存的时间;date时间为5分钟; 设置小时用setHours()和getHours方法 :date.setHours(date.getHours() + 1);或者用毫秒的乘法 

  • path: cookie值保存的路径,默认只有设置cookie的网页才能读取该cookie;path:”/”:表示根目录。

  • expires:有限日期,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对 象,如果没有设置时间,浏览器关闭之后此cookie就失效了。