gpt4 book ai didi

javascript - 带有 jquery 对话框的 javascript 中的 session 超时警告

转载 作者:行者123 更新时间:2023-11-28 00:03:00 24 4
gpt4 key购买 nike

我正在尝试实现一个 JavaScript session 超时弹出窗口。请帮我。我第一次能够显示弹出窗口,但是当我单击“确定”时,下次弹出窗口将在下一分钟内出现。为了测试,我给出了 3 分钟的时间。请帮我解决这个问题。我无法在鼠标单击时重置计时器。

</head>
<body>
<div id="dialog" style="display:none;" title="Dialog Title">Your session is going to expire in 10min</div>
<script>
var lefttime=4;
var interval;
setTimeout( 'ShowTimeoutWarning();', 180000 );


function ShowTimeoutWarning()
{

$( "#dialog" ).dialog( "open" );
return false;

}

$("#dialog").dialog({
autoOpen: false,
dialogClass: "no-close",
position: 'center' ,
title: 'session',
draggable: false,
width : 300,
height : 200,
resizable : false,
modal : true,
buttons: [
{
text: "OK",
click: function() {
ShowTimeoutWarning();
$( this ).dialog( "close" );

}
}
]
});

document.onkeyup=setTimeout( 'ShowTimeoutWarning();', 180000 );
document.onkeydown=setTimeout( 'ShowTimeoutWarning();', 180000 );
document.click=setTimeout

</script>

最佳答案

你的意思是这样吗?

您需要为 setTimeout 返回值设置一个变量,以便可以在设置另一个超时之前清除该超时。

Javascript

var timeoutID;
resetTimeout();

function resetTimeout(){
if( timeoutID ) clearTimeout( timeoutID );
timeoutID = setTimeout( ShowTimeoutWarning, 180000 );
}


function ShowTimeoutWarning() {
$( "#dialog" ).dialog( "open" );
return false;
}


$("#dialog").dialog({
autoOpen: false,
dialogClass: "no-close",
position: 'center' ,
title: 'session',
draggable: false,
width : 300,
height : 200,
resizable : false,
modal : true,
buttons: [{
text: "OK",
click: function() {
ShowTimeoutWarning();
$( this ).dialog( "close" );
}
}]
});

document.onkeyup = resetTimeout;
document.onkeydown = resetTimeout;
document.onclick = resetTimeout;

关于javascript - 带有 jquery 对话框的 javascript 中的 session 超时警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31609397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com