Преамбула: есть код, представленный глубокоуважаемым товарищем
Сергей Мельников , который позволяет отслеживать событие происходящее через определенный период времени (в данной ситуации через 2 минуты), вне зависимости от перемещения посетителя по страницам сайта.
Зачем это нужно: для отслеживание целей в Яндекс.Метрике по времени пребывания на сайте.
Суть: код срабатывает каждый раз при заходе на какую-либо страницу, и если к тому времени 2 минуты уже прошло - срабатывает событие, все ок. Но, если пользователь уйдет со страницы не переходя на новую - событие не сработает.
Что нужно: хочу сделать так, чтобы скрипт проверял условия запуска события каждую секунду, например через setInterval, буду благодарен за совет или вариант решения.
Со своей стороны пытался делать функцию с setInterval после else (и в разных других местах), выполняя ее каждую секунду, но не работает, и я даже подозреваю почему.
$(function(){
checkTime(function(){
alert('2 minutes')
});
});
function checkTime(callback){
var time = 120; //время, в секундах
if ( localStorage ) {
if (localStorage.userEnter == "end") return;
if (!localStorage.userEnter) localStorage.userEnter = new Date().getTime();
else if ((new Date().getTime() - localStorage.userEnter) > time * 1000 ) {
callback && callback();
localStorage.userEnter = "end";
}
}
}
Буду благодарен за помощь.