从浏览器视图中检测用户

时间:2010-10-20 07:37:37

标签: javascript events

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

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

由于在浏览器中触发了超时,我想知道:

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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

您可以使用

检查“聊天框”是否具有焦点
document.activeElement