长隐藏持续时间后是否忽略addEventListener?

时间:2015-01-14 05:46:47

标签: javascript html5

我的移动网页使用以下JavaScript来显示当前的服务器时间。 如果我显示此页面,然后浏览另一个标签几分钟并返回该页面,则效果很好。 (即显示第二次访问的时间)

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

但是,如果我显示此页面,然后浏览另一个标签并在营业时间离开我的手机, 显示时间是我在营业时间之后浏览页面的第一个时间。

  • 长时间不活动后是否清除了addEventListener?
  • 长时间不活动后页面可见性事件是否正常启动?
  • 如果没有,我怎样才能达到同样的行为?

我在Android 4.1上使用Chrome 39。

1 个答案:

答案 0 :(得分:0)

这是正常行为,当标签失去焦点或浏览器处于非活动状态时,不会执行任何待处理的 JavaScript 执行,您可以执行的操作是附加到window.onfocus进行更新页面中的服务器小时:

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

您可以查看文档here