30分間アクティビティが行われない場合に、ユーザーにポップアップウィンドウ(セッションが期限切れになることを示す)が表示されるセッションタイムアウト機能が実装されています。
ヘルプが必要:
このポップアップが開き、ユーザーがデスクトップをロックして入力を提供していないとします。次に、私が欲しいのは、ユーザーが1分以内に入力を提供しない場合、このポップアップが閉じ、新しいポップアップに「セッションが期限切れです」と表示されることです
誰でも助けてください。
30分間アクティビティが行われない場合に、ユーザーにポップアップウィンドウ(セッションが期限切れになることを示す)が表示されるセッションタイムアウト機能が実装されています。
ヘルプが必要:
このポップアップが開き、ユーザーがデスクトップをロックして入力を提供していないとします。次に、私が欲しいのは、ユーザーが1分以内に入力を提供しない場合、このポップアップが閉じ、新しいポップアップに「セッションが期限切れです」と表示されることです
誰でも助けてください。
ポップアップがによって作成された場合は、次のような方法をwindow.open
使用できます。.close()
var popup = window.open('some url', 'name_of_the_window');
setTimeout(function(){
popup.close();
}, 60000);
ここでは、入力をチェックせずに1分後にポップアップを閉じているだけなので、何らかの方法で入力をチェックする必要があります。
入力を確認する方法について質問がある場合は、別の回答を提供できます。
実装はかなり簡単なはずです。アクションリスナーを使用して、ユーザーアクションを検出します。
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
)
プレーンボックスではこれを行うことはできませんalert()
が、少なくとも2つのオプションがあります。
アラートを表示します。セッションは表示されてから1分後に期限切れになることに注意してください(おそらく、期限切れになる正確な時間を表示します)。時間切れになってからユーザーが「OK」をクリックすると、「申し訳ありませんが、セッションが期限切れになりました」と表示されます。
カスタムアラートボックス。これは、要素が画面を覆い、別の要素が情報を表示することで非常に簡単に実現できます。
例:
<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で作成しました。それぞれ自分自身に...