在我的应用程序ID中,我更改了安全属性->最大会话空闲时间(以秒为单位)为900秒,但是问题是,如果我在同一页码上,则会给我会话超时消息。
我希望会话超时不因用户在页面或其他选项卡上的移动而受到限制,因为我的所有应用程序工作大部分都在一页中。
答案 0 :(得分:0)
会话超时由Web应用程序服务器管理,它需要一个请求或表单提交来告诉他,嘿,我还活着,伙计,请不要杀死会话,因此,您需要创建一个ajax请求告诉Web服务器您仍然在那里。
您可以使用此脚本检测用户的不活动状态
var IDLE_TIMEOUT = 60; //seconds
var _idleSecondsCounter = 0;
document.onclick = function() {
_idleSecondsCounter = 0;
};
document.onmousemove = function() {
_idleSecondsCounter = 0;
};
document.onkeypress = function() {
_idleSecondsCounter = 0;
};
window.setInterval(CheckIdleTime, 1000);
function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
if (oPanel)
oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
alert("Time expired!");
document.location.href = "logout.html";
}
}
查看此帖子Detecting user inactivity over a browser - purely through javascript