Javascript 会话超时-结果(分钟)
Javascript 会话超时-结果(分钟),javascript,php,session-timeout,minute,Javascript,Php,Session Timeout,Minute,var IDLE\u TIMEOUT=2700//秒45分 var_idleSecondsCenter=0; document.onclick=函数(){ _IDLESecondsCenter=0; }; document.onmousemove=函数(){ _IDLESecondsCenter=0; }; document.onkeypress=函数(){ _IDLESecondsCenter=0; }; setInterval(CheckIdleTime,1000); 函数CheckIdle
var IDLE\u TIMEOUT=2700//秒45分
var_idleSecondsCenter=0;
document.onclick=函数(){
_IDLESecondsCenter=0;
};
document.onmousemove=函数(){
_IDLESecondsCenter=0;
};
document.onkeypress=函数(){
_IDLESecondsCenter=0;
};
setInterval(CheckIdleTime,1000);
函数CheckIdleTime(){
_idleSecondsCenter++;
var oPanel=document.getElementById(“SecondsUntilExpire”);
if(oPanel)
oPanel.innerHTML=(空闲\u超时-\u空闲秒中心)+”;
如果(\u idleSecondsCenter>=空闲\u超时){
//警报(“您的会话时间已过期。请登录”);
document.location.href=“logoff.php”;
}
}
使用parseInt((空闲超时-)空闲秒中心)/60+“:”+(空闲超时-)空闲秒中心)%60代码>以实现hh:mm效果
var IDLE\u TIMEOUT=2700//秒45分
var_idleSecondsCenter=0;
document.onclick=函数(){
_IDLESecondsCenter=0;
};
document.onmousemove=函数(){
_IDLESecondsCenter=0;
};
document.onkeypress=函数(){
_IDLESecondsCenter=0;
};
setInterval(CheckIdleTime,1000);
函数CheckIdleTime(){
_idleSecondsCenter++;
var oPanel=document.getElementById(“SecondsUntilExpire”);
if(oPanel)
oPanel.innerHTML=parseInt((空闲超时-_空闲秒中心)/60)+“:”;
oPanel.innerHTML+=(空闲\u超时-\u空闲秒中心)%60=空闲\u超时){
警报(“您的会话时间已过期。请登录”);
//document.location.href=“logoff.php”;
}
}
使用parseInt((空闲超时-)空闲秒中心)/60+“:”+(空闲超时-)空闲秒中心)%60代码>以实现hh:mm效果
var IDLE\u TIMEOUT=2700//秒45分
var_idleSecondsCenter=0;
document.onclick=函数(){
_IDLESecondsCenter=0;
};
document.onmousemove=函数(){
_IDLESecondsCenter=0;
};
document.onkeypress=函数(){
_IDLESecondsCenter=0;
};
setInterval(CheckIdleTime,1000);
函数CheckIdleTime(){
_idleSecondsCenter++;
var oPanel=document.getElementById(“SecondsUntilExpire”);
if(oPanel)
oPanel.innerHTML=parseInt((空闲超时-_空闲秒中心)/60)+“:”;
oPanel.innerHTML+=(空闲\u超时-\u空闲秒中心)%60=空闲\u超时){
警报(“您的会话时间已过期。请登录”);
//document.location.href=“logoff.php”;
}
}
您需要此功能吗
var IDLE_TIMEOUT = 2700;
alert(getMinutes(IDLE_TIMEOUT));
function getMinutes(time){
minutes = time/60;
seconds = time%60;
return ("00" + minutes).substr(-2)+":"+("00" + seconds).substr(-2);
}
演示:您需要此功能吗
var IDLE_TIMEOUT = 2700;
alert(getMinutes(IDLE_TIMEOUT));
function getMinutes(time){
minutes = time/60;
seconds = time%60;
return ("00" + minutes).substr(-2)+":"+("00" + seconds).substr(-2);
}
演示:以下是我如何将其编码为可读的
function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
var remain = IDLE_TIMEOUT - _idleSecondsCounter;
var remainMinutes = Math.floor(remain / 60);
var remainSeconds = ('0' + (remain % 60)).substr(-2);
if (oPanel)
oPanel.innerHTML = remainMinutes + ':' + remainSeconds;
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
//alert("Your Session Time expired. Please Login.");
document.location.href = "logoff.php";
}
}
使用
所以秒总是两位数以下是我如何将其编码为可读的
function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
var remain = IDLE_TIMEOUT - _idleSecondsCounter;
var remainMinutes = Math.floor(remain / 60);
var remainSeconds = ('0' + (remain % 60)).substr(-2);
if (oPanel)
oPanel.innerHTML = remainMinutes + ':' + remainSeconds;
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
//alert("Your Session Time expired. Please Login.");
document.location.href = "logoff.php";
}
}
使用
所以秒总是两位数请查看此案例,了解您的格式需要您使用的浏览器是什么?我使用的是什么Firefox@Scuzzy,谢谢…我试过了,效果很好…谢谢为您的格式需求检查此案例您正在使用什么浏览器?我正在使用Firefox@Scuzzy ,谢谢…我试过了,效果很好。。。thanks@JaromandaX谢谢,代码更新了。现在将显示1:01
@JaromandaX谢谢并更新代码。现在它将显示1:01
Hey Jaromanda,感谢它的工作…还有一个问题会话超时事件在所有选项卡上都不工作…我的意思是说…如果我在同一浏览器中打开了两个选项卡,因此,在一个选项卡上是44:06,在第二个选项卡上是44:58…如果我刷新我的第一个选项卡…然后它会恢复到44:59,但如果我看到我的第二个选项卡显示43:34…所以我的问题是,如果超时时间小于1分钟,我能弹出一个窗口吗。。表示您将在1分钟内注销,如果用户单击“确定”,他/她将注销,如果用户单击“否”,则自动重置不知道您在这里询问什么。。。是否尝试在多个浏览器选项卡中同步超时?可能使用localStorage,或者firefox/chromeyes中的BroadcastChannel在所有选项卡中同步相同的超时。如果我在一个选项卡中刷新…自动重置所有其他选项卡请参阅以获取答案是的,我在谷歌上搜索并找到localStorage。。但需要时间来建立逻辑…因此,为了确定时间,我可以停止用户注销..就好像他们打开了许多选项卡..所以可能没有使用任何一个选项卡,会话将超时..因此弹出窗口将停止他们Hey Jaromanda,感谢它的工作…还有一个问题会话超时事件在所有选项卡上都不工作…我的意思是说…如果我在同一浏览器中打开了两个选项卡,因此,在一个选项卡上是44:06,在第二个选项卡上是44:58…如果我刷新我的第一个选项卡…然后它会恢复到44:59,但如果我看到我的第二个选项卡显示43:34…所以我的问题是,如果超时时间小于1分钟,我能弹出一个窗口吗。。表示您将在1分钟内注销,如果用户单击“确定”,他/她将注销,如果用户单击“否”,则自动重置不知道您在这里询问什么。。。是否尝试在多个浏览器选项卡中同步超时?可能使用localStorage,或者firefox/chromeyes中的BroadcastChannel在所有选项卡中同步相同的超时。如果我在一个选项卡中刷新…自动重置所有其他选项卡请参阅以获取答案是的,我在谷歌上搜索并找到localStorage。。但需要时间来建立逻辑…因此,为了确定时间,我可以停止用户的注销…就好像他们打开了许多选项卡…所以可能没有使用任何一个选项卡,会话将超时…因此,弹出窗口将停止他们