1

次の問題があります: 今後のセッション タイムアウトについてアラートでユーザーに警告したい。実際のセッション タイムアウトが発生したら、別のアラートをポップアップ表示して任意の Web サイトに転送したいと考えています。私のアプローチは Firefox と IE で動作します。Safari と Chrome では、2 番目のタイムアウトが発生する前に最初のアラートを送信しないと、実際には 2 番目の関数が実行されません。ヒントはありますか?

setTimeout(function() {
    alert('Session timeout in 5 minutes...');
}, 30 * 1000);


setTimeout(function() {
    alert('Session timeout, sorry');
    location.href = 'http://google.com';      
}, 60 * 1000); 
4

3 に答える 3

1

アラートにより、JavaScript の実行が一時停止されます。Growlまたはトップバー メッセージ タイプの通知を使用する方が、より UI フレンドリーであると考えられます。

編集:これにはたくさんのライブラリがありますが、それは別の質問の一部です。
ライブラリ/フレームワークに依存しないうなり声スタイルの通知?

于 2013-03-29T09:28:23.097 に答える
0

alert() と confirm() は、Java スクリプトの実行を停止する 2 つのプロンプトです。

于 2013-03-29T09:44:55.133 に答える
0

この問題は、カスタム アラート ボックスを作成することで解決できます。ただし、ブラウザのアラートボックスでそれを行いたい場合は、これを試すことができます.

var nStartTime = new Date().getTime();

setTimeout(function() {
    alert('Session timeout in 5 minutes...');
    var nRemainingTime = 60 * 1000 -  (new Date().getTime() - nStartTime);
    nRemainingTime = nRemainingTime < 0 ? 0 : nRemainingTime ;
    setTimeout(function() {
        alert('Session timeout, sorry');
        location.href = 'http://google.com';         
    }, nRemainingTime); 
}, 30 * 1000);var nStartTime = new Date().getTime();  
于 2013-03-29T09:33:56.397 に答える