如何让javascript定时器在不查看选项卡/窗口时停止
How to get javascript Timer to stop when not viewing tab/window
我正在运行一个带有计时器的页面,我使用该计时器在页面的iframe中运行,这样我就知道有人在那里,实际上窗口处于焦点状态,注意屏幕,如果离开,则暂停计时器,直到重新查看窗口或处于焦点状态。
我有4个定时器文件:timer.css timer.js timer.php&timerb.js
我相信我会在下面的文件和代码中执行它,但这就是我陷入困境的地方,因为我不知道该添加什么或在哪里添加它,而且还没有运气,为什么会在这里询问,所以请看一看,如果你能帮到我,请告诉我。
文件:timer.js
function adTimer() {
timer++;
if(timer == fulltimer) {
var show="Click "+key;
$("#buttons").fadeIn();
$("#timer").html(show);
}
else {
setTimeout(adTimer, 1000);
}
$("#bar").width((timer/fulltimer)*200);
}
这对你来说已经足够了:
$(window).blur(function(){
//your code for inactive
});
$(window).focus(function(){
//your code for active
});
或非jQuery解决方案(https://stackoverflow.com/a/1760283)
window.onblur = function () {
//your code for inactive
};
window.onfocus = function () {
//your code for active
};
如果没有,请尝试页面可见性API(此处已给出答案https://stackoverflow.com/a/1060034)
只是想知道,如果JQuery已经提供了超时,为什么所有这些实现都会发生。您是否尝试使用设置超时。http://www.sitepoint.com/settimeout-example/
相关文章:
- 如何在选项卡上定义属性'的主窗口对象
- 新选项卡被弹出窗口阻止程序阻止
- 在同一选项卡中启动下载,而无需在Javascript中打开新选项卡或窗口
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- 带有多个答案选项的Javascript动态数组窗口
- 更改当前选项卡或浏览器窗口的标题
- 如何在新选项卡中而不是在新窗口中打开URL
- 如何禁用鼠标中键单击超链接以在新选项卡或新窗口中打开
- 只有当选项卡/窗口有焦点时,页面才能每5秒刷新一次
- 如何打开一个新窗口或选项卡,并将其提供给javascript执行
- 根据窗口宽度动态更改jQuery滑块选项
- 如何在windowsphone 7浏览器中通过javascript打开新窗口或选项卡
- MS Dynamics CRM 2016-打开记录时强制新建选项卡/窗口
- 在Chrome中的适当选项卡/窗口中打开URL
- 打开一个新的选项卡/窗口并向其写入内容
- Chrome 打开选项卡与窗口.打开
- 使用 POST 打开新的选项卡或窗口 [PHP]
- 激活镀铬窗口选项卡
- 选项卡在新窗口上提交表单,原因
- Firefox扩展首选项窗口上的synctopreference按钮