cookie的打包函数

function setCookie(key,value,saveTime){var time;if(!saveTime || saveTime == 0){ document.cookie = key + "=" + escape(value) + "; path/";} else {time = new Date((new Date()).getTime() + saveTime * 24 * 60 * 60 * 1000);document.cookie = key + "=" + escape(value) + "; expires= " + time.toGMTString() + "; path/";}} function readCookie(key){var cookie = document.cookie;var first = cookie.indexOf(key+"=");if(first >= 0){var str = cookie.substring(first,cookie.length);var last = str.indexOf(";");if(last < 0) last =str.length;str = str.substring(0,last).split("=");return unescape(str[1]);} else {return null;

}

}

很好用的关于cookie的函数。因为原函数来自于《javaScript 核心技术》,所以也不好意思标上原创了。对于 设置cookie的那个函数,稍稍扩展了一下,加入了cookie保存时间的设置,也就是第三个参数。

在blueidea看到一个更好的打包.把cookie写成了对象.但那代码有点错误,改写了一下,如下:

Cookie={
read : function(n){
var cookieStr = "; "+document.cookie+"; ";
var index = cookieStr.indexOf("; "+n+"=");
if (index!=-1){
var s = cookieStr.substring(index+n.length+3,cookieStr.length);
return unescape(s.substring(0, s.indexOf("; ")));
}else{
return null;
}
},
set : function(name,value,expires){
var expDays = expires*24*60*60*1000;
var expDate = new Date();
expDate.setTime(expDate.getTime()+expDays);
var expString = expires ? "; expires="+expDate.toGMTString() : "";
var pathString = ";path=/";
document.cookie = name + "=" + escape(value) + expString + pathString;
},
del : function(name){
var exp = new Date(new Date().getTime()-1);
var s=this.read(name);
if(s!=null) {document.cookie= name + "="+s+";expires="+exp.toGMTString()+";path=/"};
}
};
posted on 2008-05-07 12:26  真阿当  阅读(112)  评论(0编辑  收藏  举报