Javascript 计数单击链接并将其存储在cookie中

Javascript Count click on link and store it in cookie

本文关键字:存储 cookie 单击 链接 Javascript      更新时间:2023-09-26

我是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>

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

谢谢

您可以使用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);
                }
            }
        }