1 一句document.cookie只能写一个name,否则会出现莫名其妙的问题,一般是有些name会没保存成功;
2 path和source不同时,设置过期方法可能会失败,尽量这些条件在相同情况下去设置,否则你显示所有的cookie时它还在;
3 不设置时间,默认是关闭浏览器失效,小天今天立ke失效,大于今天就保存到设定日期;
4 获取时,使用正则代码小于使用for;
5 js不能获取失效时间,也不能获取path,也不能获取source,但是这些可以设置;
以下为用到的代码
//设置COOKIE //liuliqiang 增加设置path,使各目录能取到相同的COOKIE
function SetCookie(c_id,obj)
{
var new_ids = eval('['+GetCookie('cmp_ids')+']');
new_ids[new_ids.length] = c_id;
new_ids = new_ids.join(',');
document.cookie="cmp_name_" + c_id + "="+escape(obj.getAttribute('cmp_name'))+"; path=/;" + get_24_expires();
document.cookie="cmp_img_" + c_id + "="+escape(obj.getAttribute('cmp_img'))+"; path=/;" + get_24_expires();
document.cookie="cmp_ids="+escape(new_ids)+"; path=/;" + get_24_expires();
}
//获得COOKIE
function GetCookie(name)
{
var arr=document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr!=null){return unescape(arr[2]);}else{return "";}
}
//删除COOKIE
function delCookie(id)
{
document.cookie= "cmp_name_" + id + "="+escape('del')+";path=/; expires=Fri, 31 Dec 1970 23:59:59 GMT;/n";
document.cookie="cmp_img_" + id + "="+escape('del')+"; path=/;expires=Fri, 31 Dec 1970 23:59:59 GMT;/n" ;
document.cookie="cmp_ids="+escape(shift_arr(id,eval('['+GetCookie('cmp_ids')+']')))+"; path=/;" + get_24_expires();
obj_id('a'+id).checked=false
}
function get_24_expires()
{
return '';//'expires=' + (new Date(new Date().getTime()+24*3600000).toGMTString()) + ';/n';
}