1

30分間アクティビティが行われない場合に、ユーザーにポップアップウィンドウ(セッションが期限切れになることを示す)が表示されるセッションタイムアウト機能が実装されています。

ヘルプが必要:

このポップアップが開き、ユーザーがデスクトップをロックして入力を提供していないとします。次に、私が欲しいのは、ユーザーが1分以内に入力を提供しない場合、このポップアップが閉じ、新しいポップアップに「セッションが期限切れです」と表示されることです

誰でも助けてください。

4

3 に答える 3

0

ポップアップがによって作成された場合は、次のような方法をwindow.open使用できます。.close()

var popup = window.open('some url', 'name_of_the_window');
setTimeout(function(){
    popup.close();
}, 60000);

ここでは、入力をチェックせずに1分後にポップアップを閉じているだけなので、何らかの方法で入力をチェックする必要があります。

入力を確認する方法について質問がある場合は、別の回答を提供できます。

于 2012-08-26T17:32:37.227 に答える
0

実装はかなり簡単なはずです。アクションリスナーを使用して、ユーザーアクションを検出します。

var userActionDetected = false;
var x = document.getElementById('yourID');
x.onclick = function (){
    // some more stuff you wanna do 
    userActionDetected = true;
};
setTimeout(
    function() {
        if(!userActionDetected){
            //close popups etc.
        }
    },
    60000
)
于 2012-08-26T17:32:49.520 に答える
0

プレーンボックスではこれを行うことはできませんalert()が、少なくとも2つのオプションがあります。

  1. アラートを表示します。セッションは表示されてから1分後に期限切れになることに注意してください(おそらく、期限切れになる正確な時間を表示します)。時間切れになってからユーザーが「OK」をクリックすると、「申し訳ありませんが、セッションが期限切れになりました」と表示されます。

  2. カスタムアラートボックス。これは、要素が画面を覆い、別の要素が情報を表示することで非常に簡単に実現できます。

例:

<div id="mask"><div id="alert">Your session will expire soon</div></div>
CSS:
#mask {
    position: fixed;
    left: 0; right: 0; top: 0; bottom: 0;
    /* fallback for browsers that don't support rgba() */
    background: #cccccc;
    background: rgba(255,255,255,0.75);
}
#alert {
    position: fixed;
    left: 50%;
    width: 200px;
    margin-left: -100px; /* half the width */
    top: 20%;
    background: white;
    color: black;
}

もちろん、ボタンなどでこれをさらにカスタマイズすることもできます。jQueryはこのためのいくつかのライブラリを提供しますが、私は完全にカスタマイズ可能なボックス(カスタムテキストとコールバックを備えた無制限のボタン)をわずか40行の生のJavaScriptで作成しました。それぞれ自分自身に...

于 2012-08-26T17:34:21.450 に答える