代码之家  ›  专栏  ›  技术社区  ›  Q_Mlilo

正在检测浏览器视图外的用户

  •  0
  • Q_Mlilo  · 技术社区  · 15 年前

    大家好 我正在进行Ajax网络聊天,每隔几秒钟就会使用超时的Ajax请求更新这个应用程序。

    使用定时Ajax请求意味着Web服务器必须处理非常重的负载,我希望尽可能减少请求的数量。

    由于超时是在浏览器中触发的,我想知道这一点:

    是否可以使用javascript检测浏览器外视图的用户,以便清除聊天更新的超时?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Jacob Relkin    15 年前

    是的,对于Gecko和Webkit浏览器,可以使用 onblur 全球事件 window 对象:

    window.onblur = function(e) {
       //clear timeout here...
    };
    

    但是,对于IE,您需要使用 onfocusout 事件。

        2
  •  1
  •   N 1.1    15 年前

    您可以使用检查“聊天框”是否有焦点

    document.activeElement