Question

Je le code suivant:

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

Ce qui, au fond, appelle bla après 15 minutes de la page ayant chargé.

Cependant, si à un moment donné, je montre une alerte () ou une confirmation (), puis dès qu'il est rejeté, bla () est exécuté pour une raison quelconque.

Pour autant que je l'ai vu, cela ne se produit que dans Safari / Chrome. Il ne se produit pas dans IE / Firefox.

Toutes les idées ce qui se passe, ou encore mieux, comment résoudre ce problème?

Merci!
Daniel

Était-ce utile?

La solution

Autres conseils

Ce problème n'a pas été résolu par l'équipe de chrome.

Je trouve que, en introduisant un certain retard entre clearTimeout et le setTimeout, va résoudre le problème.

// 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);
}

elle pourra être utile.

Etes-vous sûr est la cause, j'ai couru cette démo et ne peut pas le reproduire.

"Délai d'attente!" apparaît au bout de 10 secondes, cliquez dans la zone avant la main à tester.

http://jsfiddle.net/PFgaJ/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top