0

JavaScript (および/または jQuery) を使用して、アラート/確認を表示せずに、ユーザーが一定時間ページを終了するのを一時停止することは可能ですか?

(ユーザーが別のページをクリックするか、ウィンドウを閉じたとします。タイマーが 3 秒間開始し [その間に何かが発生します]、その後、次のページが読み込まれるか、ウィンドウが閉じます。)

4

3 に答える 3

2

いいえ、最新のブラウザでは不可能です。

(さらに、すべてのポップアップがそれを行うとしたら、それがどれほど面倒なことか考えてみてください)

あなたができる最も近いのは、を使用してダイアログを表示することですがonbeforeunload、これを避けるように求めています。

しかし、なぜそれをしたいのですか?

言及する価値があるのは、これが魔法の時間であることです。サーバーに何かを報告したいかもしれませんが、ユーザーが離れているため、突然報告できません。これは、同期 ajax のように通常悪い習慣と見なされていることが理にかなっている場合の 1 つです。

于 2013-06-25T00:35:50.443 に答える
0

これはクロムとファイアフォックスで動作します:

window.onbeforeunload = function() {
    var now = new Date();
    while( new Date() - now < 3000 );
};

バッテリーも消耗するので、一石二鳥です。

于 2013-06-25T02:04:14.390 に答える
0

いいえ、できません。せいぜいonbeforeunloadハンドラーを実装できますが、この時点でのオプションは非常に限られています (「3 秒待つ」ことはできません)。

ブラウザはユーザーを保護しようとするため、これはブラウザが強制する動作であり、強制するインセンティブがあります。

于 2013-06-25T00:35:41.010 に答える