页面失去焦点后开始倒计时,时间到了执行指定js。适用于 检测页面无操作退出登录、在线答题防止切换页面搜索答案、浏览页面多久后获取奖励等场景。
<script type="text/javascript">
$(document).ready(function (){
/*
window.onblur = function(e){
console.log("未激活状态!");
alert("未激活状态!");
}
window.onfocus = function(e){
console.log("激活状态!");
alert("激活状态!");
}
*/
$(window).on("blur focus", function(e) {
var prevType = $(this).data("prevType");
if (prevType != e.type) { // reduce double fire issues
switch (e.type) {
case "blur":
// do work
console.log("您离开窗口了,开始10秒倒计时!");
countdown();
break;
case "focus":
// do work
console.log("您回来了!");
clearInt();
break;
}
}
$(this).data("prevType", e.type);
});
window.focus();//触发获取焦点事件
});
var interval;
function clearInt(){
console.log("清除计时");
window.clearInterval(interval);
//interval=self.setInterval("forceLogin()",10*1000);
}
function countdown(){//开始倒计时
console.log("开始计时");
interval=self.setInterval("forceLogin()",10*1000);
}
function forceLogin(){//
alert("时间到了!");
}
</script>