javascript与jquery对话框中的会话超时警告
我正在尝试实现一个javascript会话超时弹出窗口。 请帮我。 我能够第一次显示弹出窗口,但是当我下次弹出即将进入下一分钟时点击确定。对于测试我给了3分钟时间。 请帮我解决这个问题。我无法在鼠标点击时重置计时器。
Your session is going to expire in 10min 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
你的意思是这样的吗?
您需要将变量设置为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;
请在下面找到代码。 时间设定为1分钟。 在55秒之前弹出消息
是postabck:
if (!this.IsPostBack) { Session["Reset"] = true; Configuration config =WebConfigurationManager. OpenWebConfiguration("~/Web.Config"); SessionStateSection section =(SessionStateSection) config.GetSection("system.web/sessionState"); int timeout = (int)section.Timeout.TotalMinutes * 1000 * 60; Page.ClientScript.RegisterStartupScript(this.GetType(), "onLoad", "DisplaySessionTimeout(" + timeout + ")", true); }
Jquery&popup消息:
Your Session will expire in seconds.
Do you want to logout?
这是在会话超时之前显示弹出警告的最佳示例
你应该试试这个