0

私は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>

ここで、ユーザーが Web サイトの他のセクションに移動すると、カウントがリセットされます。だから私はカウントの結果をクッキーに保存したいと思います。

Web サイトの訪問回数を 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>

しかし、カウント スクリプトを挿入する方法がわかりません。私が理解するのを手伝ってくれる人はいますか?

ありがとう

4

1 に答える 1

0

これらSetcookiesGetcookiesJavaScriptの関数を使用して、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);
                }
            }
        }
于 2012-05-16T11:40:32.787 に答える