2012-05-16 82 views
0

我在JavaScript語言newbee,有一個問題:的Javascript計數點擊鏈接並將其存儲在cookie的

我有一個腳本誰算點擊一個鏈接,並在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> 

現在,如果用戶導航到網站的其他部分,count將被重置。所以我想將cookie的結果存儲在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> 

但我不明白如何插入我的計數腳本。有人能幫助我理解嗎?

感謝

回答

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); 
       } 
      } 
     } 
+0

Thaks很多關於這個快速的答案!它看起來更加困難......你能提供更多信息嗎?我真的是新手。 – Fletcher