php ajax auto logout con temporizador

 var t; function startTimer(){ t=setTimeout("document.location='../login/logout.php'", 50000); } function stopTimer(){ clearTimeout(t); }  

Este es mi script para el cierre de sesión automático,

quiero mostrar el temporizador de cuenta atrás, cómo crear y mostrar el temporizador,

También quiero revivir cuando el usuario golpea el cuerpo de la página,

También el temporizador debería reiniciarse y luego reiniciarse cuando el sistema está inactivo,

Como hacerlo,

(El temporizador debe mostrar, es decir, el temporizador debe funcionar cuando las personas no tocan el sistema,

Si el usuario toca el sistema, el contador debería reiniciarse.

Utilice esta función:

 function timer(elem, starttime, endtime, speed, funktion, count) { if (!endtime) endtime = 0; if (!starttime) starttime = 10; if (!speed) speed = 1; speed = speed * 1000; if ($(elem).html() || $(elem).val()) { if (count == "next" && starttime > endtime) starttime--; else if (count == "next" && starttime < endtime) starttime++; if ($(elem).html()) $(elem).html(starttime); else if ($(elem).val()) $(elem).val(starttime); if (starttime != endtime && $(elem).html()) setTimeout(function() { timer(elem, $(elem).html(), endtime, speed / 1000, funktion, 'next'); }, speed); if (starttime != endtime && $(elem).val()) setTimeout(function() { timer(elem, $(elem).val(), endtime, speed / 1000, funktion, 'next'); }, speed); if (starttime == endtime && funktion) funktion(); } else return; } 

Ejemplo

 timer("#timer", 50, 0, 1, function() { location.href = "../login/logout.php"; }); 

mi ejemplo:

Actualizado para comprobar si el usuario está inactivo (está configurado en 2 segundos, esto facilita las pruebas, recomendaría al menos 5 o 10 minutos).

  

Mi código aquí … después de modificado un poco … funciona para mí …

 var startSeconds = 10; var milisec = 0; var seconds=startSeconds; var countdownrunning = false var idle = false; document.counter.timer.value=startSeconds; function CountDown() { if(idle == true) { if (milisec<=0) { milisec=9 seconds-=1 } if (seconds<=-1) { document.location='../login/logout.php'; milisec=0 seconds+=1 return; } else seconds-=1; setTimeout("CountDown()",1000); } else { return; } } function startCountDown() { seconds = startSeconds; milisec = 0 idle = true; CountDown(); document.getElementById("alert").innerHTML = 'You are idle. you will be logged out after ' + startSeconds + ' seconds.'; countdownrunning = false; } function resetTimer() { idle = false; if(countdownrunning) setTimeout('startCountDown()',2000); countdownrunning = true; }