1

I want to create a way to track how many times a user has visited a page.

Problem is that i want to only increase the cookie visit count if more than 30 minutes have past since the last visit.

How could i do this?

Right now this is what i have to set and get cookie:

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 "";
} 
Alosyius
  • 8,771
  • 26
  • 76
  • 120

1 Answers1

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);
CrayonViolent
  • 32,111
  • 5
  • 56
  • 79