我正在尝试使用 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/