javascript浏览器超时第二个计时器

标签 javascript timeout alert

我正在尝试使用 Javascript 设置 session 超时,但看起来警报阻止了计时器启动。这是我的代码:

var first_timer = 2 * 1000;
var second_timer = 8 * 1000;
var down = -1;

function initTimer() {
  down = setTimeout(processTimeout, first_timer)
}

function processTimeout() {
        down = setTimeout(logout, second_timer);
        alert ("Timeout of first timer, timerid:" + down );
}

function logout() {
  alert("You are logged out");
  window.location = "http://www.google.com"
}

function clearTimer() {
  if ( -1 != down )
    clearTimeout(down);
  alert("Restarting timer");
  initTimer();
}

initTimer();

当我运行上面的代码时,我看到第二个计时器仅在第一个警报解除后才启动。即使警报未解除,如何确保第二个计时器在第一次超时后立即启动?

谢谢

最佳答案

alert() 函数会阻止所有其他操作,直到它被关闭为止。您可以使用所谓的模式对话框来创建您自己的不会阻塞的警报样式消息。

jQuery UI 有 this feature.

关于javascript浏览器超时第二个计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460070/

相关文章:

javascript - 将页脚保留在页面底部

javascript - 如何在 angularjs 中使用 select2 来获取字符串值而不是对象

node.js - 如何在 mocha nodejs 中等待

azure - Azure 虚拟机运行 X 小时的警报?

javascript - 在fabric.js中向形状的图案图像添加过滤器

javascript - 应用map函数可以工作,而foreach函数不能reactjs

java - 用于创建 JMSMessages 的装饰模式/超时应该从哪里开始

javascript - AngularJS - 仅在 ng-change 上触发 $timeout 事件一次

java - 为什么不弹出警报?

logging - 一个带有错误通知的好的日志监控工具?