Chromeでalert()を表示すると、setimeout()settimeout()が早めに発射されます
-
11-10-2019 - |
質問
次のコードがあります。
t = setTimeout(function () { blah(); }, 900000);
これは、基本的に、ページが15分間読み込まれた後に何とか呼び出します。
ただし、ある時点でalert()またはconfism()が表示された場合、却下されるとすぐに、何らかの理由でBlah()が実行されます。
私が見た限り、これはSafari/Chromeでのみ起こります。 IE/Firefoxでは起こりません。
これを解決する方法は、何が起こっているのか、それともさらに良いことですか?
ありがとう!
ダニエル
解決
あなたは一人ではありません、これはバグです: code.google.com/p/chromium/issues/detail?id=43796
他のヒント
この問題は、Chromiumチームによって解決されていません。
ClearTimeOutとSetimeOutの間にある程度の遅延を導入することで、問題が解決することがわかりました。
// 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);
}
それが役に立てば幸い。
それが原因であると確信していますか、私はこのデモを実行し、それを複製することができません。
"タイムアウト!" 10秒後に表示され、手の前にボックスをクリックしてテストします。
所属していません StackOverflow