问题描述
|
我有一个JavaScript来解析twitter feed,并每30秒在我的页面的一个区块中显示它们,代码是这样的:
var auto_refresh = setInterval(
功能()
{
//获取Twitter提要
});
},30000);
现在,如果用户最小化他的浏览器或切换到另一个选项卡(页面不活动),我想禁用此auto_referesh
clearInterval(auto_refresh);
谢谢你的帮助
解决方法
答案是:
有没有一种方法可以检测浏览器窗口当前是否未激活?
, 您可能要签出
如何检测浏览器窗口是否聚焦?
确定网页是否具有前景窗口焦点/是否为活动选项卡?
如何判断浏览器/标签页是否处于活动状态
是否可以告诉用户我的页面最小化还是非活动选项卡?
有没有一种方法可以检测浏览器窗口当前是否未激活?
https://odondo.wordpress.com/2007/08/28/javascript-and-cross-browser-window-focus/
还要注意,Chrome显然具有一些优化,这些优化在选项卡不突出时会减慢计时器的启动时间:当选项卡在Chrome中处于非活动状态时,如何使setInterval也起作用?
, 这个答案很干净:https://stackoverflow.com/a/18677784/9027171
摘自infinito84的答案
if(!document.hasFocus()){
// The tab is not active
}
else{
// The tab is active
}