2015-01-14 183 views
0

我的移动网页正在使用以下JavaScript来显示当前的服务器时间。 如果我显示此页面,然后浏览另一个选项卡几分钟并返回到页面,它运行良好。 (即第二次访问的时间显示)长时间隐藏持续时间后,addEventListener是否被忽略?

document.addEventListener('visibilitychange', function() { 
     if (!document.hidden) { 
      // show current server time 
     } 
    }); 

但是如果我显示此页,然后浏览另一个选项卡和商务小时内离开我的电话, 显示的时间是第一个,当我浏览后页营业时间。

  • addEventListener长时间不活动后被清除吗?
  • 页面可见性事件在长时间不活动后是否正确启动?
  • 如果不是,我该如何实现相同的行为?

我在Android 4.1上使用Chrome 39。

回答

0

这是一种正常的行为,当标签失去焦点或浏览器是不活动的任何未决的的JavaScript执行将不执行,你可以做的是连接到window.onfocus页面来更新服务器时:

window.onfocus = function(){ 
    //do here what you need. 
}; 

你可以看到文档here

+0

听起来很合理。我会试一试。 – yskkin

+0

onfocus事件不起作用。 – yskkin