1

私は次のコードを持っています:

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

これは、基本的に、ページがロードされてから15分後に何とか呼び出します。

ただし、ある時点でalert()またはconfirm()を表示すると、それが却下されるとすぐに、何らかの理由でblah()が実行されます。

私が見た限りでは、これはSafari/Chromeでのみ発生します。IE/Firefoxでは発生しません。

何が起こっているのか、さらにはこれを解決する方法について何かアイデアはありますか?

ありがとう!
ダニエル

4

3 に答える 3

2

これはバグです: code.google.com/p/chromium/issues/detail?id=43796

于 2010-12-18T02:29:33.690 に答える
1

この問題は、クロム チームによって解決されていません。

clearTimeout と setTimeout の間に遅延を導入することで、問題が解決することがわかりました。

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

それが役に立てば幸い。

于 2012-03-08T02:54:05.397 に答える
0

それが原因だと確信していますか。このデモを実行しましたが、複製できません。

"タイムアウト!" 10秒後に表示されます。テストする前にボックスをクリックしてください。

http://jsfiddle.net/PFgaJ/

于 2010-12-16T19:21:11.253 に答える