比如待办事项、短信、公告等,点击后新开了页面,但回到主页面后,希望刷新下最新数据,一般很多网站都是设定一个定时轮询,比如10秒自动刷一次,但这样效果并不是太好,有时候主页面也会打开无数个,每个都提示,加上声音提示,搞的一片混乱,而且也不能做到及时,服务器压力也非常大。
        其实可以用更简单的方式:
   //当窗口失去焦点后,再次获取焦点将自动刷新一次,这样可以解决点击待办后,回到此页面要刷新页面的需求
  window.onblur=function(){
   window.onfocus=function(){
       //刷新处理,如window.location.reload();或者ajax请求刷新部分数据
   }
  }
原理就是,当你打开了子窗口,主窗口会失去焦点,在失去焦点时,加个事件侦听,当再次获取焦点时,就执行刷新动作。
这样比侦听打开子窗口的对象是否存在,或者定时刷新效果都要好,不浪费用户流量也不增加服务器压力。  
	posted on 2013-05-30 15:40 
方伟的博客 阅读(2294) 
评论(1)  编辑  收藏  所属分类: 
J2EE相关