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条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效