之前感觉cookies有一种神秘感,慢慢随着学习,可以抓到cookie,再到可以利用cookie。今天就来说一下自己构建一个cookie。
Talk is cheap ,show you the code.
1 <html> 2 <head> 3 <script type="text/javascript"> 4 function getCookie(c_name) 5 { 6 if (document.cookie.length>0) 7 { 8 c_start=document.cookie.indexOf(c_name + "=")//得到cookiename的起始位置 9 if (c_start!=-1) 10 { 11 c_start=c_start + c_name.length+1 12 c_end=document.cookie.indexOf(";",c_start)//得到cookiename的结束位置 13 if (c_end==-1) c_end=document.cookie.length 14 15 return unescape(document.cookie.substring(c_start,c_end))//substring函数得到cookie 16 } 17 } 18 return "" 19 } 20 21 function setCookie(c_name,value,expiredays) 22 { 23 //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串 24 //toGMTString() 方法可根据格林威治时间 (GMT) 把 Date 对象转换为字符串,并返回结果 25 var exdate=new Date() 26 exdate.setDate(exdate.getDate()+expiredays)//过期时间 27 document.cookie=c_name+ "=" +escape(value)+ 28 ((expiredays==null) ? "" : "; expires="+exdate.toGMTString()) 29 } 30 31 function checkCookie() 32 { 33 username=getCookie('username') 34 if (username!=null && username!="") 35 {alert('Welcome again '+username+'!')} 36 else 37 { 38 username=prompt('Please enter your name:',"") 39 if (username!=null && username!="") 40 { 41 setCookie('username',username,365) 42 } 43 } 44 } 45 </script> 46 </head> 47 <body onLoad="checkCookie()"> 48 </body> 49 </html>
下面在我的网站上测试一下:
输入名字以后再次访问:
现在就可显示了,说明cookie起作用了。完结,撒花~~