setTimeout和clearTimeout的session用法

本文介绍了一个简单的JavaScript实现方案,用于处理Web应用中的会话超时问题。该方案通过定时器跟踪用户的活跃状态,并在会话即将过期时给予用户提示。
var sessionTime = 1200;//empire time
var delay = 1000;
var timeId = null;
var timerRunning = false;
var windowStatusMsg;
var isStatusAvail = true; 
initTimer();
function initTimer(){
	secs = sessionTime;
	stopClock();
	startTimer();
}
function stopClock(){
	if(timerRunning){
		clearTimeout(timeId);
	}
	timerRunning = false;
}
function startTimer(){
	if(secs == 0){
		stopClock();
		
		windowStatusMsg = "The session is empired";
	} else {
		secs = secs - 1;
		var min = secs/60;
		var res = Math.floor(min);
		var sec = secs%60;
		timerRunning = true;
		timerId = self.setTimeout("startTimer()",delay);
		if(secs>=1 && secs<=59){
			if(secs==10){
				alert("Session will be expired after 10 seconds!");
			}
			windowStatusMsg = "Your session will expire within "+sec+ " second(s)";
		}else{
			windowStatusMsg = "Your session will expire within "+res+" minute(s) and " +sec+ " second(s)";
		}
	}
	if(isStatusAvail){
		window.status = windowStatusMsg;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值