一些对安全要求比较高的网页,如网银、支付平台等界面,为了保证用户数据的安全,通常会提供这样的功能--若用户在累计的一段时间内没有进行任何操作,就会自动退出登录或直接关闭窗口。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>若干秒不操作就自动关闭窗口</title>
<script type="text/javascript">
var willClose = true;
function clickBody(){
willClose = false;
}
setInterval(function(){
if(willClose){
window.close();
}else{
willClose = true;
}
}, 5000);
</script>
</head>
<body style="text-align:center" onclick="clickBody()">
如果用户5秒钟不单击网页,本窗口将自动关闭
</body>
</html>复制代码
解析:window对象包含一个setInterval(),可用来 记时和进行重复操作。本例代码中,直接把一个匿名的函数 作为它的第1个参数,第2个参数则表示5秒后重复执行第1个 参数所定义的函数。此外,若用户操作过网页之后,则不能 自动关闭窗口,因此,定义一个willClose变量,它起到了 用户操作和关闭窗口交互的纽带作用。