您的位置:首页 > Web前端 > JavaScript

JavaScript操作Cookie 插件

2011-08-02 10:02 204 查看
JavaScript操作Cookie 插件,标注已经很清楚了,请看具体代码:

//Cookie类
function Cookie(){
Cookie.prototype=new Object();//继承自Object
this.constructor=Cookie;
//重写toString函数,生成为document.cookie形式的字符串
Cookie.prototype.toString=function(){
var data=[];//存放cookie子键
var _cookie=[];//存放cookie键值对
for(var prop in this){
switch(true){
case prop=="name":
_cookie[0]=prop;
continue;
case prop=="expires":
_cookie[1]=prop+"="+this[prop];
continue;
case prop=="path":
_cookie[2]=prop+"="+this[prop];
continue;
case prop=="secure":
_cookie[3]=prop+"="+this[prop];
continue;
case prop=="domain":
_cookie[4]=prop+"="+this[prop];
continue;
}
data[data.length]=prop+":"+escape(this[prop]);
}
_cookie[0]+="="+data.join("&");
return _cookie.join(";");
};
return this;//返回cookie对象
}
//将字符串格式化为cookie, 静态函数
Cookie.format=function(str){
var cookie=new Cookie();
var start=str.indexOf("=");
cookie.name=str.substring(0,start);
var value=str.substring(start+1);
value=value.split('&');
for ( var v in value ){
v=v.split(':');
this[v[0]]=unescape(v[1]);
}
return cookie;
};
//获取当前所有cookie, 静态对象
Cookie.cookies=(function(){
var cookie=document.cookie;
var obj;
cookie=cookie.split(';');
for (var c in cookie){
c=Cookie.format(c);
obj[c.name]=c;
}
return obj;
})();
//添加cookie, 静态函数
Cookie.Add=function(cookie){
if(cookie instanceof Cookie){
document.cookie=cookie.toString();
}
//else console.log("参数错误");
}
//删除cookie, 静态函数
Cookie.Remove=function(cookie){
if(cookie instanceof Cookie){
var time=new Data();
time.setFullYear(time.getFullYear()-10);
cookie.expires=time.toGMTString();
document.cookie=cookie.toString();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: