Javascript Count点击链接并将其存储在cookie中

时间:2012-05-16 11:32:23

标签: javascript cookies hyperlink counter

我是javascript语言的新手并遇到问题:

我有一个脚本点击链接,点击20次时没有显示此链接。

<script type="text/javascript">
    var compteur=0;
    function submitOnce()
    {
    var i,h5s = document.getElementsByTagName('h5'), nbr = h5s.length;

    compteur +=1;
    if (compteur==20){
    for (i=0;i<nbr;i++) {
        document.getElementsByTagName("h5")[i].style.visibility = "hidden";
        document.getElementById("quota").style.display = "block";
    }
    };
    };
 </script>

现在,如果用户导航到网站的其他部分,则会重置计数。所以我想将计数结果存储在cookie中。

我找到了一个脚本,用于描述存储cookie中网站访问次数的过程。

<script language="JavaScript">
  <!--
  function cherchevaleur()
  {
   var valeur = "";
   if(document.cookie)
   {
    valeurdepart = document.cookie.indexOf("=") + 1;
    valeurfin = document.cookie.indexOf(";");
    if(valeurfin == -1) valeurfin = document.cookie.length;
    valeur = document.cookie.substring(valeurdepart,valeurfin);
   }
   return valeur;
  }

  function fixervaleur(indic, valeur, expire)
  {
   var maintenant = new Date();
   var temps = new Date(maintenant.getTime() + expire);
   document.cookie = indic+"="+valeur+"; expires="+temps.toGMTString()+";";
  }

  function compteur()
  {
   var tpsexpire = 1000*60*60*24*1;
   var nombre = cherchevaleur();
   var compte = 0;
   if(nombre != "") compte = parseInt(nombre);
   if(document.cookie)
   {
    compte = compte + 1;
    fixervaleur("compte",compte,tpsexpire);
   }
   else
   {
    compte = 1;
    fixervaleur("compte",compte,tpsexpire);
   }
  alert("C'est votre " + compte + "ème visite sur cette page!");
  }
  //-->
 </script>

但我不明白如何插入我的计数脚本。有人能帮助我理解吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用JavaScript的SetcookiesGetcookies函数在Cookie中读取和写入值...

function setCookie(c_name, value, exdays) {
            var exdate = new Date();
            exdate.setDate(exdate.getDate() + exdays);
            var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
            document.cookie = c_name + "=" + c_value + "; path=/";
        }
        function getCookie(c_name) {
            var i, x, y, ARRcookies = document.cookie.split(";");
            for (i = 0; i < ARRcookies.length; i++) {
                x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
                y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
                x = x.replace(/^\s+|\s+$/g, "");
                if (x == c_name) {
                    return unescape(y);
                }
            }
        }