douchun5976 2017-08-21 05:01
浏览 38
已采纳

会话超时 - 以分钟为单位的结果[重复]

This question already has an answer here:

var IDLE_TIMEOUT = 2700; //seconds 45min

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

document.onkeypress = 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) {
    //alert("Your Session Time expired. Please Login.");
    document.location.href = "logoff.php";
  }
}
<div id='SecondsUntilExpire'></div>

So from above i am getting output as 2699 ( its in seconds = 45min ) and if no event happen its decrements ( 2698..2697..and so on ) and if any event (mouse up..etc ) happen its back to 2699

But i need in minutes thats : 44:59, 44:58 ..and so on

</div>
  • 写回答

3条回答 默认 最新

  • doutuo3935 2017-08-21 05:13
    关注

    Here's how I'd code it to be readable

    function CheckIdleTime() {
        _idleSecondsCounter++;
        var oPanel = document.getElementById("SecondsUntilExpire");
        var remain = IDLE_TIMEOUT - _idleSecondsCounter;
        var remainMinutes = Math.floor(remain / 60);
        var remainSeconds = ('0' + (remain % 60)).substr(-2);
        if (oPanel)
            oPanel.innerHTML = remainMinutes + ':' + remainSeconds; 
        if (_idleSecondsCounter >= IDLE_TIMEOUT) {
            //alert("Your Session Time expired. Please Login.");
            document.location.href = "logoff.php";
        }
    }
    

    uses

    var remainSeconds = ('0' + (remain % 60)).substr(-2);
    

    so that seconds are always two digits

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站