2013-03-09 2 views
1

사용자가 페이지를 몇 번 방문했는지 추적하는 방법을 만들고 싶습니다.자바 스크립트 쿠키, 방문 추적

문제는 지난 방문 이후 30 분 이상 지난 경우에만 쿠키 방문 횟수를 늘리고 싶습니다.

어떻게하면됩니까?

getCookie('xVisitors'); 
setCookie('xVisitors', 1, 120); 


function setCookie(b, c, e) { 
    var i = ""; 
    e > 0 && (i = new Date, i.setTime(i.getTime() + e * 6E4), i = "; expires=" + i.toGMTString()); 
    e = ""; 
    document.cookie = b + "=" + c + i + "; path=/;" + e 
}; 

function getCookie(b) { 
    for (var c = document.cookie.split(";"), e = 0; e < c.length; e++) { 
     for (var i = c[e]; i.charAt(0) == " ";) i = i.substring(1, i.length); 
      if (i.indexOf(b) == 0) return i.substring(b.length + 1, i.length); 
     } 
    return ""; 
} 
+0

스토어 업데이트 마지막으로 또 다른 쿠키 :

는 지금이 내가 설정하고 쿠키를 얻을 수있을 것입니다. 그런 다음 30 분이 지났는지 확인하고, 그렇다면'xVisitors'를 다시 증가시킵니다. – eandersson

+0

그 코드는 어떻게 생겼습니까? – Alosyius

+0

이 답변을보십시오. 이것을 사용하여 날짜를 저장하고 비교할 수 있습니다. http://stackoverflow.com/questions/4503901/javascript-if-time-930-then – eandersson

답변

0
var cTime = new Date().getTime(); 
var numVisits = 1; 
var xVisitors = getCookie('xVisitors').split('|'); 
if (typeof xVisitors[1]!='undefined') { 
    numVisits = ((cTime-parseInt(xVisitors[1])) > (30*60)) ? (xVisitors[0]+1) : xVisitors[0]; 
} 
setCookie('xVisitors',numVisits+"|"+cTime,120);