如果一段时间内没有活动,我想将用户从页面中踢出。
提示会阻塞计时器(因此页面将显示,直到处理完提示为止)。
我该如何取消提示(或者绕过它,这样如果提示框中没有输入,计时器就会踢用户)?
var timeoutTimer = null;
var kickoutTimer = null;
timeoutTimer = setTimeout(function(){timeoutInfo()},10000);
function timeoutInfo()
{
kickoutTimer = setTimeout(function(){kickout()},10000);
var kickresponse = prompt('you will be kicked out soon - stop it? enter YES','');
if( kickresponse == 'YES')
{
clearTimeout(kickoutTimer);
alert('stopped');
}
else
{
kickout();
}
}
function kickout()
{
document.location='kickedout.html';
}
windows.prompt()
和windows.alert()
阻止UI和Javascript执行。
您必须使用Javascript框架(AngularUI/jQuery UI/jQuery+Bootstrap/…)以HTML显示对话框,并使用自定义Javascript函数来处理超时。