读书人

JavaScript Cookie 工具种

发布时间: 2012-11-23 00:03:43 作者: rapoo

JavaScript Cookie 工具类

function Cookie(name){    this.$name=name;//Remember the name of this cookie    var allCookies=document.cookie; //Get a list of all  cookies pertain to this document    if(allCookies == "") return;//If there are no cookies, we don't have anything to do.    var cookies=allCookies.split(";");//Break the string of all cookies into individual cookie strings    var cookie=null;    for(var i=0;i<cookies.length;i++){//Loop through the cookie strings, looking for our name        if(cookies[i].substring(0,name.length+1)==(name+'=')){//Does this cookie string begin with the name we want?            cookie=cookies[i];break;        }    }    if(cookie==null) return;//If we didn't find a matching cookie, quit now    var cookieValue=cookie.substring(name.length+1);//Get the cookie value    var a=cookieValue.split('&');//Break the cookie value into an array of name/value pairs    for(var i=0;i<a.length;i++){//Break each pair into an array        a[i]=a[i].split(':');    }    for(var i=0;i<a.length;i++){        this[a[i][0]]=decodeURIComponent(a[i][1]);    }}Cookie.prototype.store=function(daysToLive,path,domain,secure){    var cookieValue='';    for(var prop in this){//Loop through the Cookie object and put together the value of the cookie        if((prop.charAt(0)=='$') || (typeof this[prop])=='function'){continue;}        if(cookieValue!='') cookieValue +='&';        cookieValue += prop + ':' +encodeURIComponent(this[prop]);    }    var cookie=this.$name+'='+cookieValue;    if(daysToLive || daysToLive==0) cookie+="; max-age="+(daysToLive*24*60*60);    if(path) cookie+="; path="+path;     if(domain) cookie+="; domain="+domain;    if(secure) cookie+="; "+secure;    document.cookie=cookie;}Cookie.prototype.remove=function(path,domain,secure){    for(var prop in this){        if(prop.charAt(0)!='$' && typeof this[prop] !='function'){            delete this[prop];        }    }    this.store(0,path,domain,secure);}Cookie.enabled=function(){    if(window.navigator.cookieEnabled != undefined) return window.navigator.cookieEnabled;    if(Cookie.enabled.cache != undefined) return Cookie.enabled.cache;    document.cookie="testCookie=test; max-age=10000";    var cookies=document.cookie;    if(cookies.indexOf("testCookie")==-1){        return Cookie.enabled.cache=false;    }else{        document.cookie="testCookie=test; max-age=0";        return Cookie.enabled.cache=true;    }}
?

读书人网 >JavaScript

热点推荐