javascriptモニターとタイマー
この例はシステムアクセスを壊して、現在のセッションが無効になることを防止します.他のシステムにもアクセスできます.テストを受けます.
このセッションの期限が切れた時間をページに取りました.
もっといい提案があります.よろしくお願いします.
独立して出てきたら、便利に呼んでください.
このセッションの期限が切れた時間をページに取りました.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> </title>
</head>
<x:tbody title="xx" iconCls="icon-dot">
<div id="msgBox" style="display:none;"><font style="size: 14px;color: red"></font></div>
<iframe id="logfrm" src=" " frameborder="0" scrolling="no">
</iframe>
<script type="text/javascript">
//
var infoTime = 180;// 3 ,
var unit = 1000;
// session , ,
var sessionTime = "${sessionLostTime}"*unit; ;
// session ,
var timeout = runTimeout();
// , 180
var outinfo = runInteval();
var noticeout;
// session
myWindowListener("click",function(){
//
$('#msgBox').hide();
clearTimeout(timeout);
clearTimeout(outinfo);
clearInterval(noticeout);
outinfo = runInteval();
timeout = runTimeout();
});
// ,session
function runTimeout(){
return window.setTimeout(active,sessionTime);
}
// ,
function runInteval(){
return window.setTimeout(noticeout=notice,(sessionTime-infoTime*unit));
}
//
function active(){
forward('','/c/jsp/login/login');
}
//
function notice(){
$('#msgBox').show();
return window.setInterval(infoAction,1000);
}
//
function infoAction(){
infoTime --;
$('#msgBox font').html("");
$('#msgBox font').html(" , "+ infoTime +" , !");
}
// IE/fire
function myWindowListener(fanc,time){
if(window.attachEvent){
return window.document.attachEvent("on"+fanc,time);
}else{
return window.addEventListener(fanc,time,false);
}
}
</script>
</x:tbody>
</html>
もっといい提案があります.よろしくお願いします.
独立して出てきたら、便利に呼んでください.
// ,session
function runTimeout(sessionTime){
return window.setTimeout(active,sessionTime);
}
// ,
function runInteval(sessionTime,infoTime,unit){
var lessTime = sessionTime-infoTime*unit;
return window.setTimeout(noticeout=notice,lessTime);
}
//
function active(){
forward('','/c/jsp/login/login');
}
//
function notice(){
$('#msgBox').show();
return window.setInterval(infoAction,1000);
}
//
function infoAction(){
infoTime --;
$('#msgBox font').html("");
$('#msgBox font').html(" , "+ infoTime +" , !");
}
// IE/fire
function myWindowListener(myevent,fanc,sessionTime){
if(window.attachEvent){
return window.document.attachEvent("on"+myevent,fanc);
}else{
return window.addEventListener(myevent,fanc,false);
}
}
//
var infoTime = 180;// 3
// session
function initSessionListener(sessionLostTime){
var msgBox =null;
var unit = 1000;
// session ,
var sessionTime = sessionLostTime*unit;
// session
var timeout = runTimeout(sessionTime);
//
var outinfo = runInteval(sessionTime,infoTime,unit);
var noticeout;
//
myWindowListener("click",function(){
//
$('#msgBox').hide();
clearTimeout(timeout);
clearTimeout(outinfo);
clearInterval(noticeout);
outinfo = runInteval(sessionTime,infoTime,unit);
timeout = runTimeout(sessionTime);
});
}