首页 > 语言 > JavaScript > 正文

使用JavaScript制作一个简单的计数器的方法

2024-05-06 16:22:50
字体:
来源:转载
供稿:网友

这篇文章主要介绍了使用JavaScript制作一个简单的计数器的方法,用于计算网页用户的来访次数,需要的朋友可以参考下

设计思想

该方法的关键是Cookie技术和动态图像特性的综合运用。使用Cookie,可以在用户端的硬盘上记录用户的数据,下次访问此站点时,即可读取用户端硬盘的Cookie,直接得知来访者的身份和访问次数等有关信息。JavaScript中通过document.cookie属性访问Cookie,这个属性包括名字、失效日期、有效域名、有效URL路径等。用等号分开的名字和其值是Cookie的实际数据,本例中用来存储该访问者访问该页面的次数。通过把Web页中的图像映射到一个Images数组,一定条件下修改该数组项的特性,可以实现动态图像显示。本例中,首先预载入一组图像,每次调用该Web页时,随机产生新的一组图像,通过覆盖原图像实现动态的趣味性效果。

源程序count.html

 

 
  1. < html> 
  2.  
  3.  < head> 
  4.  
  5.  < meta http-equiv=″Content-Type″ 
  6.  
  7.  content=″text/html; charset=gb2312″> 
  8.  
  9.  < title>趣味计数器< /title> 
  10.  
  11.  < /head> 
  12.  
  13.  < body> 
  14.  
  15.  < p>< script language=″JavaScript″> 
  16.  
  17.  var expdays=60; 
  18.  
  19.  var exp=new Date(); 
  20.  
  21.  exp.setTime(exp.getTime() 
  22.  
  23.  (expdays*24*60*60*1000)); 
  24.  
  25.  function count(info){ 
  26.  
  27.  //若是该访客的第一次访问,将计数器值赋1,否则加1累积 
  28.  
  29.  var wwhcount=getcookie(′wwhcount′); 
  30.  
  31.  if (wwhcount==null){ 
  32.  
  33.  wwhcount=1; 
  34.  
  35.  } 
  36.  
  37.  else{wwhcount++;} 
  38.  
  39.  setcookie(′wwhcount′,wwhcount,exp); 
  40.  
  41.  return countdisp(wwhcount) 
  42.  
  43.  } 
  44.  
  45.  function countdisp(countvar){ 
  46.  
  47.  //实现随机显示,不足6位以0补全,可以自己调整显示位数 
  48.  
  49.  var countvar1=″000000″+countvar; 
  50.  
  51.  var howFar1=countvar1.length; 
  52.  
  53.  countvar1=countvar1.substring(howFar1, howFar1-1) 
  54.  
  55.  var index=″ ″+Math.floor(Math.random()*10); 
  56.  
  57.  if (index==″10″){ 
  58.  
  59.  index=″0″}; 
  60.  
  61.  for (var icount=0;icount< 6;icount++){ 
  62.  
  63.  var g=countvar1.substring(icount,icount+1); 
  64.  
  65.  document.images[icount].src=″http: 
  66.  
  67.  //localhost/images/″+index+g+″.gif″; 
  68.  
  69.  } 
  70.  
  71.  } 
  72.  
  73.  function getCookieVal(offset){ 
  74.  
  75.  //获取该访问者的已访问次数 
  76.  
  77.  var endstr=document.cookie.indexOf(″;″,offset); 
  78.  
  79.  if (endstr==-1) 
  80.  
  81.  endstr=document.cookie.length; 
  82.  
  83.  return unescape(document.cookie.substring(offset,endstr)); 
  84.  
  85.  } 
  86.  
  87.  function getcookie(name){ 
  88.  
  89.  //截取Cookie中的name信息段 
  90.  
  91.  var arg=name+″=″; 
  92.  
  93.  var alen=arg.length; 
  94.  
  95.  var clen=document.cookie.length; 
  96.  
  97.  var i=0; 
  98.  
  99.  while (i< clen){ 
  100.  
  101.  var j=i+alen; 
  102.  
  103.  if (document.cookie.substring(i,j)==arg) 
  104.  
  105.  return getCookieVal(j); 
  106.  
  107.  i=document.cookie.indexOf(″ ″,i)+1; 
  108.  
  109.  if (i==0) break;} 
  110.  
  111.  return null
  112.  
  113.  } 
  114.  
  115.  function setcookie(name,value){ 
  116.  
  117.  //存储该访客计数器的数值 
  118.  
  119.  var argv=setcookie.arguments; 
  120.  
  121.  var argc=setcookie.arguments.length; 
  122.  
  123.  var expires=(argc>2)?argv[2]:null;var path=(argc>3)?argv[3]:null
  124.  
  125.  var domain=(argc>4)?argv[4]:null
  126.  
  127.  var secure=(argc〉5)?argv[5]:false
  128.  
  129.  document.cookie=name+″=″+escape(value) 
  130.  
  131.  +((expires==null)?″ ″:(″;expires=″+expires.toGMTString())) 
  132.  
  133.  +((path==null)?″ ″:(″;path=″+path))+((domain==null)?″ 
  134.  
  135.  ″:(″;domain=″+domain))+((secure==true)?″;secure″:″ ″); 
  136.  
  137.  } 
  138.  
  139.  function deletecookie(name){ 
  140.  
  141.  //使该信息行失效,删除该用户关于访问次数的信息 
  142.  
  143.  var exp=new Date(); 
  144.  
  145.  exp.setTime(exp.getTime()-1); 
  146.  
  147.  var cval=getcookie(name); 
  148.  
  149.  document.cookie=name+″=″+cval+″;expires=″+exp.toGMTString(); 
  150.  
  151.  } 
  152.  
  153.  < /script>< /p> 
  154.  
  155.  < ! --预载入图像数组--> 
  156.  
  157.  您是第 < img src=″http://localhost/images/00.gif″ height=20 width=20> 
  158.  
  159.  < img src=″http://localhost/images/00.gif″ 
  160.  
  161.  height=20 width=20> 
  162.  
  163.  < img src=″http://localhost/images/00.gif″ 
  164.  
  165.  height=20 width=20> 
  166.  
  167.  < img src=″http://localhost/images/00.gif″ 
  168.  
  169.  height=20 width=20> 
  170.  
  171.  < I mg src=″http://localhost/images/00.gif″ 
  172.  
  173.  height=20 width=20> 
  174.  
  175.  < img src=″http://localhost/images/00.gif″ 
  176.  
  177.  height=20 width=20>次光临! 
  178.  
  179.  < script language=″JavaScript″> 
  180.  
  181.  //调用count()函数,实现计数器的动态图像显示 
  182.  
  183.  count(); 
  184.  
  185.  < /script> 
  186.  
  187.  < /body> 
  188.  
  189.  < /html> 

注意事项

由于使用了JavaScript语言,因此该方法具有与应用平台的无关性,可以适用于Unix、Windows等多种平台。另外,此计数器不同于一般意义上的访客计数器,专门用于记录某一访客对某一网站的访问次数。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选