大家好 我正在进行Ajax网络聊天,这个应用程序每隔几秒钟就会使用超时的Ajax请求进行更新。
使用定时Ajax请求意味着Web服务器必须处理非常繁重的负载,我希望尽可能减少请求数量。
由于在浏览器中触发了超时,我想知道:
是否可以使用JavaScript检测浏览器视图以外的用户,以便我可以清除聊天更新的超时时间?
答案 0 :(得分:2)
是的,对于Gecko和WebKit浏览器,您可以使用全局window
对象的onblur
事件:
window.onblur = function(e) {
//clear timeout here...
};
但是,对于IE,您需要使用onfocusout
事件。
答案 1 :(得分:1)
您可以使用
检查“聊天框”是否具有焦点document.activeElement