对Cookie的了解学习和应用

来源:互联网 发布:淘宝卖麻将软件是真假 编辑:程序博客网 时间:2024/04/27 23:00

方法一:

String.prototype.Trim = function()
  {
     
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
  }
 
 
function JSCookie()
  {
     
this.GetCookie = function(key)
      {
       
var cookie = document.cookie;
       
var cookieArray = cookie.split(';');
       
var getvalue = "";
       
for(var i = 0;i<cookieArray.length;i++)
        {
           
           
if(cookieArray[i].Trim().substr(0,key.length) == key)
            {
                getvalue
= cookieArray[i].Trim().substr(key.length + 1);
               
break;
            }
        }

       
return getvalue;
    };
   
this.GetChild = function(cookiekey,childkey)
    {
       
var child = this.GetCookie(cookiekey);
       
var childs = child.split('&');
       
var getvalue = "";
       
       
for(var i = 0;i < childs.length;i++)
        {
           
if(childs[i].Trim().substr(0,childkey.length) == childkey)
            {
                getvalue
= childs[i].Trim().substr(childkey.length + 1);
               
break;
            }
        }
       
return getvalue;
    };
   
this.SetCookie = function(key,value,expire,domain,path)
    {
       
var cookie = "";
       
if(key != null && value != null)
            cookie
+= key + "=" + value + ";";
       
if(expire != null)
            cookie
+= "expires=" + expire.toGMTString() + ";";
       
if(domain != null)
            cookie
+= "domain=" + domain + ";";
       
if(path != null)
            cookie
+= "path=" + path + ";";
        document.cookie
= cookie;
    };
   
this.Expire = function(key)
    {
        expire_time
= new Date();
        expire_time.setFullYear(expire_time.getFullYear()
- 1);
       
var cookie = " " + key + "=e;expires=" + expire_time + ";"
        document.cookie
= cookie;
    }
}


用法:
一、设置cookie
var cookie = new JSCookie();
//普通设置
cookie.SetCookie("key1","val1");

//过期时间为一年
var expire_time = new Date();
expire_time.setFullYear(expire_time.getFullYear()
+ 1);
cookie.SetCookie(
"key2","val2",expire_time);

//设置域及路径,带过期时间
cookie.SetCookie("key3","val3",expire_time,".cnblogs.com","/");

//设置带子键的cookie,子键分别是k1,k2,k3
cookie.SetCookie("key4","k1=1&k2=2&k3=3");

二、读取cookie
//简单获取
cookie.GetCookie("key1");
cookie.GetCookie(
"key2");
cookie.GetCookie(
"key3");
cookie.GetCookie(
"key4");
//获取key4的子键k1值
cookie.GetChild("key4","k1");

三、删除
cookie.Expire(
"key1");
cookie.Expire(
"key2");
cookie.Expire(
"key3");
cookie.Expire(
"key4");

 

 

 

方法二:

// JavaScript Document
   //调用读取cookie的函数
     function GetCookie(Name) {
      var search = Name + ":";
      var returnvalue = "";
      if (document.cookie.length > 0) {
            offset = document.cookie.indexOf(search);
            if (offset != -1) {    
                  offset += search.length;
                  end = document.cookie.indexOf(";", offset);                      
                  if (end == -1)
                        end = document.cookie.length;
                  returnvalue=unescape(document.cookie.substring(offset,end));
            }
      }
      return returnvalue;
      }

   
//设置Cookie的函数
     function SetCookie(name,value){
      var argv=SetCookie.arguments;
      var argc=SetCookie.arguments.length;
      var expires=(2<argc)?argv[2]:null;
      var path=(3<argc)?argv[3]:null;
      var domain=(4<argc)?argv[4]:null;
      var secure=(5<argc)?argv[5]:false;
      document.cookie = name+":"+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((                            domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");
  
  /* if (document.cookie.length != 0) {
    document.cookie += ";" + name+":"+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+                path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");
      } else {
    document.cookie = name+":"+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+                 path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");   
   } */
  }

 

原创粉丝点击