ブラウザのウィンドウを閉じるのに少し問題があります。
基本的に、非アクティブ状態が 15 分間続くと閉じたいページがあります。10分間非アクティブになった後にウィンドウに警告するタイマーを作成することができました。
私が必要としているのは、タイマーが終了すると、カウントダウンが表示されたポップアップ/アラートが表示され、ここからユーザーがセッションを続行するか終了できることです。ユーザーが続行をクリックしないか、さらに 5 分間ポップアップを無視すると、ポップアップと親ウィンドウの両方が閉じます。それ以外の場合、ユーザーが続行を押すと、ポップアップが閉じられ、メイン ページが更新されます (したがって、タイマーが再び開始されます)。これが私のコードです:
var idleTime = 0;
var activeTime = 0;
var warningFlag = 0;
var loginTime = new Date();
var logoutTime = loginTime;
setInterval(function checkIdle() {
idleTime += 1;
activeTime += 1;
if(idleTime > 10) {
alert("You've been inactive for 10 \n minutes, are you still there ?\nYou logged in at " + loginTime);
warningFlag=1;
}
if((idleTime > 15) && (warningFlag==1)) {
alert("You've been logged out due to inactivity for 15 \n minutes? \nYou logged out at " + logoutTime);
window.close();
}
window.onload = resetTimer;
document.onmousemove = resetTimer;
document.onkeypress = resetTimer;
},1000);
function resetTimer() {
idleTime = 0;
}