JS写的cookie类

博客展示了用JScript实现Cookie操作的代码。定义了Cookie类,包含加载、保存、创建、修改、删除等方法。还创建了Cookie实例,进行加载、添加和删除项等操作,最后输出Cookie过期时间和当前Cookie内容。

<script language="JScript">
function Cookie(delim){
    
this._Cookie=[];
    
this.Load=function(){
        
if(document.cookie.indexOf(";")!=-1){
            
var _sp,_name,_tp,_tars,_tarslength;
            
var _item=document.cookie.split("");
            
var _itemlength=_item.length;
            
while(_itemlength>0){
                _sp
=_item[--_itemlength].split("=");
                _name
=_sp[0];
                _tp
=_sp[1].split(",");
                _tars
=_tp.slice(1,_tp.length);
                
this._Cookie[_name]=[];
                
this._Cookie[_name]=_tars;
                
this._Cookie[_name]["timeout"]=_tp[0];
                }
            
return true;
            }
        
return false;
        }
    
this.Save=function(){
        
var _str,_ars,_mars,_marslength,timeout,i,key;
        
for(key in this._Cookie){
            
if(!this._Cookie[key])return;
            _str
=[];
            _mars
=CookieClass._Cookie[key];
            _marslength
=_mars.length;
            
for(i=0;i<_marslength;i++)_str[_str.length]=escape(_mars[i]);
            document.cookie
=key+"="+_mars["timeout"]+(_str.length>0?",":"")+_str+(_mars["timeout"]==0?"":";expires="+new Date(parseInt(_mars["timeout"])).toGMTString());
            }
        
        }
    
this.GetCookieCount=function(){
        
var _length=0,key;
        
for(key in this._Cookie)_length++;
        
return _length;
        }
    
this.Create=function(name,days){
        days
=days?days:0;
        
if(!this._Cookie[name])this._Cookie[name]=[];
        
this._Cookie[name]["timeout"]=days!=0?new Date().getTime()+parseInt(days)*86400000:0;
        }
    
this.Modify=function(name,days){
        
this.Create(name,days);
        }
    
this.GetTime=function(name){
        
return new Date(parseInt(this._Cookie[name]["timeout"]));
        }
    
this.Delete=function(name){
        
this.Create(name,0);
        }
    
this.AddItem=function(name,value){
        
this._Cookie[name][this._Cookie[name].length]=value;
        }
    
this.DelItem=function(name,index){
        
var _ttime=this._Cookie[name]["timeout"];
        
this._Cookie[name]=this._Cookie[name].slice(0,index).concat(this._Cookie[name].slice(parseInt(index)+1,this._Cookie[name].length));
        
this._Cookie[name]["timeout"]=_ttime;
        }
    
this.GetCount=function(name){
        
return this._Cookie[name].length;
        }
    
this.GetItem=function(name,index){
        
return this._Cookie[name][index];
        }
    }
</script>
<script language="JScript">
var CookieClass=new Cookie();
if(!CookieClass.Load()){
    CookieClass.Create(
"Pass",1);
    CookieClass.AddItem(
"Pass","Ps1");
    CookieClass.AddItem(
"Pass","Ps2");
    CookieClass.AddItem(
"Pass","Ps3");
    CookieClass.AddItem(
"Pass","Ps4");
    CookieClass.DelItem(
"Pass",1);
    CookieClass.Save();
    }
alert(
"Cookie过期时间:"+CookieClass.GetTime("Pass").toLocaleString());
alert(document.cookie);
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值