现在的位置: 首页 > 综合 > 正文

cookie小例子

2013年03月29日 ⁄ 综合 ⁄ 共 2811字 ⁄ 字号 评论关闭
Code:
  1. function start()/*输出用户名、访问时间和次数*/  
  2.     {  
  3.         var text="";/*输出字符串变量*/  
  4.         var VisitorName=getcookie('VisitorName');  
  5.         var lasttime=getcookie('time');/*获取上次访问的时间*/  
  6.         var isnMonth=new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");/*设置表示月份的数组*/  
  7.         var isnDay=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");/*设置表示星期的数组*/  
  8.         var today=new Date();/*创建一个Date对象*/  
  9.         var Year=today.getYear();  
  10.         var day=today.getDate();/*表示时间的字符串*/  
  11.         var cookietime=Year+"年"+isnMonth[today.getMonth()]+day+"日"+isnDay[today.getDay()];  
  12.         today.setTime(today.getTime()+365*24*60*60*1000);/*设置cookie的有效时间*/  
  13.         setcookie("time",cookietime,today);/*向cookie写入时间*/  
  14.         if(VisitorName=="")/*若存在cookie*/  
  15.         {  
  16.             VisitorName=prompt("输入你的名字:");  
  17.             setcookie('VisitorName',VisitorName,today);  
  18.             document.write("你好!"+VisitorName+"首次光临本站,请多提宝贵意见");  
  19.         }  
  20.         else  
  21.         {  
  22.             text+="你好!"+VisitorName+"你是第"+Count()+"次访问本站,请多提宝贵意见.<br>上次访问时间为:"+lasttime;  
  23.             document.write(text);  
  24.         }  
  25.     }  
  26.     function Count()/*统计用户访问次数*/  
  27.     {  
  28.         var now=new Date();/*创建一个Date对象*/  
  29.         now.setTime(now.getTime()+365*24*60*60*1000);/*设置cookie的有效时间*/  
  30.         var visits=getcookie("counter");/*查找counter的cookie值*/  
  31.         if(!visits)  
  32.         {  
  33.             //visits=1;  
  34.             visits=2;  
  35.         }  
  36.         else  
  37.         {  
  38.             visits=parseInt(visits)+1;  
  39.         }  
  40.         setcookie("counter",visits,now);/*更改cookie值*/  
  41.         return visits;  
  42.     }  
  43.     function getcookie(name)/*输出特定的cookie值的函数*/  
  44.     {  
  45.         if(document.cookie.length>0)  
  46.         {  
  47.             start=document.cookie.indexOf(name+"=");/*查找是否存在name*/  
  48.             if(start!=-1)/*判断是否存在*/  
  49.             {  
  50.                 start=start+name.length+1;  
  51.                 end=document.cookie.indexOf(";",start);/*查找cookie的name属性的value值*/  
  52.                 if(end==-1)/*表示未找到*/  
  53.                 end=document.cookie.length;/*value值的结束位置为cookie字符串的末尾*/  
  54.                 return decodeURI(document.cookie.substring(start,end));/*返回cookie值*/  
  55.             }  
  56.         }  
  57.         return "";  
  58.     }  
  59.     function setcookie(name,value,expires,path,domain,secure)/*写入cookie函数*/  
  60.     {  
  61.         var curcookie=name+"="+encodeURI(value)  
  62.                     +((expires)?";expires="+expires.toGMTString():"")  
  63.                     +((path)?";path="+path:"")  
  64.                     +((domain)?";domain="+domain:"")  
  65.                     +((secure)?";secure="+secure:"");  
  66.         document.cookie=curcookie;  
  67.     }  

显示用户上次访问时间和次数

IE中首次加载时显示用户首次访问,刷新页面后用户的访问次数并不会增加,必须得再次打开此html网页才增加用户的访问次数;Firefox中首次加载时显示用户访问,再次刷新,显示用户下一次访问,没刷新一次,用户访问的次数增加1。

当Count( )函数中的 if 语句中 visits=1时,显示效果如下:

此时,我们看出了错误,当将 visits=2 时效果如下:

按F5刷新页面:

再次刷新:

抱歉!评论已关闭.