Javascript settimeout

时间:2010-11-02 07:16:30

标签: javascript

我希望我的用户在说15分钟后看到一个确认框,提醒他们会话超时。我希望此过程重复继续。 即使用户从确认框中选择取消,他也会在15分钟后收到相同的警报。

5 个答案:

答案 0 :(得分:6)

如果您希望它重复运行,您可以使用setInterval功能:

setInterval(function() {
    alert('hello world');
}, 15 * 60 * 1000);

另外,您可以查看jquery idleTimer插件,该插件可让您检测用户不活动的时段并采取一些措施。

答案 1 :(得分:3)

setInterval(alert(Session Timeout),90000); 

确认确认框

setInterval(alert(confirm('Session Timeout')),90000);

答案 2 :(得分:3)

您有两个选择

  1. setInterval(f,ms)

    function f(){
        确认('会话超时')
    }
    setInterval(f,15 * 60 * 1000);

  2. setTimeout(f,ms)+递归

    function f(){
       确认('会话超时')
       if(!stopCondition)setTimeout(f,15 * 60 * 1000);
    }
    setTimeout(f,15 * 60 * 1000);

  3. 结论:
    当你希望行为永远重复时,setInterval会更好 如果您想稍后停止行为,setTimeout会更好

答案 3 :(得分:2)

对此

使用setInterval
var t  = setInterval("alert('Your sesssion will be expired after 15 min')",900000);

答案 4 :(得分:2)

只需使用setTimeout()

function handleSessionTimeout() {
    var isOk = confirm("Your session is going to time out");
    if( isOk ) {
      // let the session time out
    } else {
      // don't let it timeout.
      // restart the timer
      setTimeout(handleSessionTimeout, 900000);
    }
}
setTimeout(handleSessionTimeout, 900000);

时间(900000)以毫秒为单位。