2017-02-28 4 views
0

この質問に類似した多くの回答がありました。 問題 - 5分間休止した後に警告メッセージを表示したい場合、ユーザーが警告の5分後にまだ停止している場合、Pageは自動的にlogoff.jspにリダイレクトされます。 私はここでJqueryを使用したくありません.Javascriptを使用して行う必要があります。 ヘルプ!X + Y時間後の非アクティブとログアウトのX時間後の警告表示javadript

var IDLE_TIMEOUT = 15; //seconds 
var _idleSecondsCounter = 0; 

document.onkeypress = function() 
{ 
    _idleSecondsCounter = 0; 
}; 
document.onclick = function() 
{ 
    _idleSecondsCounter = 0; 
}; 
document.onmousemove = function() 
{ 
    _idleSecondsCounter = 0; 
}; 

window.setInterval(CheckIdleTime, 1000); 

function CheckIdleTime() { 
    _idleSecondsCounter++; 
    var oPanel = document.getElementById("SecondsUntilExpire"); 
    if (oPanel) 
     oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + ""; 
    if (_idleSecondsCounter >= IDLE_TIMEOUT) { 
     var answer = confirm("It's been long time you are idle.\nPlease click OK to continue session.\nTo close this session click Cancel."); 
     if (answer) 
     { 
      //document.location.href = "logout.html"; 
      _idleSecondsCounter=0; 
     } 
     else{ 
      //window.open('', '_self', ''); window.close(); 
      document.location.href = "logoff.jsp"; 
     } 

    } 
} 
+0

問題点 – mehulmpt

+0

ユーザーがまだ[OK]または[キャンセル]オプションを選択していない場合、ページは5分後に自動的にリダイレクトされます。 – Maverick

答えて

0

ああ、あなたができるプログラムでalert()近いかconfirm()またはこれらのモーダルではありません。もしあなたがそれをしたいのなら、あなたは自分の種類の箱を作っていなければなりません。

confirm()を表示すると、JSの実行が自動的に一時停止されます。 HTML/CSSを使用してカスタムダイアログボックスを作成する必要があります。

function tempAlert(msg,duration) 
{ 
    var el = document.createElement("div"); 
    el.setAttribute("style","position:absolute;top:40%;left:20%;background-color:white;"); 
    el.innerHTML = msg; 
    setTimeout(function(){ 
     el.parentNode.removeChild(el); 
     // 5 minutes over. sign off user 
    },duration); 
    document.body.appendChild(el); 
} 

tempAlert("We're signing you off in 5 minutes",5*60000); 
+0

ありがとうMohan! Jqueryを使用してこれにアプローチできますか?私はまだJqueryの初心者です。もしそうなら、どうすればいいのですか? – Maverick

+0

答えよりもコメントではないですか? –

+1

@Goto更新された回答を確認してください。 – mehulmpt

関連する問題