Pregunta

Tengo el siguiente código:

t = setTimeout(function () { blah();  }, 900000);

Lo que, básicamente, bla llama después de 15 minutos de la página después de haber cargado.

Sin embargo, si en algún momento me muestro una alerta () o una confirmación (), entonces tan pronto como se desestimó, bla () es ejecutado por alguna razón.

Por lo que yo he visto, esto sólo ocurre en Safari / Chrome. Esto no sucede en el IE / Firefox.

Alguna idea de lo que está pasando, o mejor aún, la forma de resolver esto?

Gracias!
Daniel

¿Fue útil?

Solución

Otros consejos

Este problema no ha sido resuelto por el equipo de cromo.

I encontró que, mediante la introducción de un cierto retraso entre clearTimeout y el setTimeout, va a resolver el problema.

// mouse event
document.onmousemove = function(){
  clearTimeout(timeout);
  debug("Idle Timer reinitialized"); // apparently this function introduces some delay. it just works. You may want to include another timer here like for 2-3 seconds.
  timeout = setTimeout(logoutNow, systemTimeout);
}

espero que ayude.

¿Está seguro de que es la causa, me encontré con esta demo y no puede replicar.

"Tiempo de espera!" aparecerá después de 10 segundos, haga clic en el cuadro de antemano a prueba.

http://jsfiddle.net/PFgaJ/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top