大家好,我正在做Ajax网络聊天,这个应用程序每隔几秒钟就会使用超时Ajax请求进行更新。
使用定时Ajax请求意味着web服务器必须处理非常重的负载,我希望尽可能减少请求的数量。
由于超时是在浏览器中触发的,所以我想知道以下情况:
是否可以使用JavaScript来检测出浏览器视图之外的用户,以便我可以清除他们聊天更新的超时?
发布于 2010-10-20 07:40:33
是的,对于壁虎和WebKit浏览器,您可以使用全局window对象的onblur事件:
window.onblur = function(e) {
//clear timeout here...
};然而,对于IE,您需要使用onfocusout事件。
发布于 2010-10-20 07:43:52
您可以检查“聊天框”是否具有焦点。
document.activeElementhttps://stackoverflow.com/questions/3975661
复制相似问题