JavaScript操作Cookie 外掛程式

來源:互聯網
上載者:User

JavaScript操作Cookie 外掛程式,標註已經很清楚了,請看具體代碼:

 

//Cookie類<br />function Cookie(){<br />Cookie.prototype=new Object();//繼承自Object<br />this.constructor=Cookie;<br />//重寫toString函數,產生為document.cookie形式的字串<br />Cookie.prototype.toString=function(){<br />var data=[];//存放cookie子鍵<br />var _cookie=[];//存放cookie索引值對<br />for(var prop in this){<br />switch(true){<br />case prop=="name":<br />_cookie[0]=prop;<br />continue;<br />case prop=="expires":<br />_cookie[1]=prop+"="+this[prop];<br />continue;<br />case prop=="path":<br />_cookie[2]=prop+"="+this[prop];<br />continue;<br />case prop=="secure":<br />_cookie[3]=prop+"="+this[prop];<br />continue;<br />case prop=="domain":<br />_cookie[4]=prop+"="+this[prop];<br />continue;<br />}<br />data[data.length]=prop+":"+escape(this[prop]);<br />}<br />_cookie[0]+="="+data.join("&");<br />return _cookie.join(";");<br />};<br />return this;//返回cookie對象<br />}<br />//將字串格式化為cookie, 靜態函數<br />Cookie.format=function(str){<br />var cookie=new Cookie();<br />var start=str.indexOf("=");<br />cookie.name=str.substring(0,start);<br />var value=str.substring(start+1);<br />value=value.split('&');<br />for ( var v in value ){<br />v=v.split(':');<br />this[v[0]]=unescape(v[1]);<br />}<br />return cookie;<br />};<br />//擷取當前所有cookie, 靜態對象<br />Cookie.cookies=(function(){<br />var cookie=document.cookie;<br />var obj;<br />cookie=cookie.split(';');<br />for (var c in cookie){<br />c=Cookie.format(c);<br />obj[c.name]=c;<br />}<br />return obj;<br />})();<br />//添加cookie, 靜態函數<br />Cookie.Add=function(cookie){<br />if(cookie instanceof Cookie){<br />document.cookie=cookie.toString();<br />}<br />//else console.log("參數錯誤");<br />}<br />//刪除cookie, 靜態函數<br />Cookie.Remove=function(cookie){<br />if(cookie instanceof Cookie){<br />var time=new Data();<br />time.setFullYear(time.getFullYear()-10);<br />cookie.expires=time.toGMTString();<br />document.cookie=cookie.toString();<br />}<br />}<br />

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.