日期:2014-05-16 浏览次数:20361 次
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; } }?