方伟的博客
j2ee技术、网络、web等,同名的人真多,我的QQ是20025404
posts - 21,comments - 14,trackbacks - 0
比如待办事项、短信、公告等,点击后新开了页面,但回到主页面后,希望刷新下最新数据,一般很多网站都是设定一个定时轮询,比如10秒自动刷一次,但这样效果并不是太好,有时候主页面也会打开无数个,每个都提示,加上声音提示,搞的一片混乱,而且也不能做到及时,服务器压力也非常大。

        其实可以用更简单的方式:
   //当窗口失去焦点后,再次获取焦点将自动刷新一次,这样可以解决点击待办后,回到此页面要刷新页面的需求
  window.onblur=function(){
   window.onfocus=function(){
       //刷新处理,如window.location.reload();或者ajax请求刷新部分数据
   }
  }

原理就是,当你打开了子窗口,主窗口会失去焦点,在失去焦点时,加个事件侦听,当再次获取焦点时,就执行刷新动作。

这样比侦听打开子窗口的对象是否存在,或者定时刷新效果都要好,不浪费用户流量也不增加服务器压力。 
posted on 2013-05-30 15:40 方伟的博客 阅读(2275) 评论(1)  编辑  收藏 所属分类: J2EE相关

FeedBack:
# re: 网页非定时刷新的处理技巧
2013-05-30 17:00 | tb
这个办法加局部刷新的话 估计不错的  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: