我正在尝试计算用户不在当前标签页中的时间。 如果用户是“更改”选项卡超过3次,则页面应导航到另一页面。或者,如果用户更改选项卡超过10秒钟,则页面应导航到另一页面。 到目前为止,我只有这个:
$(window).blur(function() {
alert("You are navigating to other tabs or window. this is your first warning. Doing this again may cancel your current examination.");
});
我需要这样的东西:
if (user changes tab){
//display warning
}
if(user changes tab for more than 3 times){
//navigate to another page
}
if(user changes tab for more than 10 seconds){
//navigate to another page
}
答案 0 :(得分:0)
答案最初来自:https://stackoverflow.com/a/1760268/680578
他的代码段可以在这里找到:http://jsfiddle.net/meehanman/40edh944/
您可以使用jQuery的焦点和模糊来跟踪活动/非活动选项卡。您应该能够使用全局变量来跟踪用户没有将注意力集中在选项卡上的次数。第一次显示您的警告,3次后显示第二个警告。
例如,可以使用setInterval
倒数完成10秒。用户回到您的标签页后,您可以清除哪些内容。
var counter = 0;
$(window).focus(function() {
//do something
});
$(window).blur(function() {
//do something
});