setTimeout () disparar prematuramente cuando se muestra una alerta () en Chrome
-
11-10-2019 - |
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
Solución
Usted no está solo, este es el error: code.google. com / p / cromo / temas / detalle? id = 43796
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.