收藏本站投递资讯前端导航

前端资讯

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3323|回复: 2

JavaScript 判断是否当前活动窗口

[复制链接]
发表于 2013-1-26 11:55:30 | 显示全部楼层 |阅读模式
自己没找到很正经说这个需求的跨浏览器方案,但其实这个方法很多人都会的,就是用 window.onfocus 和 window.onblur 函数来实现,支持本人 Windows XP 机器上的 Opera 12.10 、Safari 5.1.7 、 Chrome  24.0.1312.52 m 、 Firefox 18.0.1 和 Internet Explorer 6  ,点此在新窗口打开 Demo ,最小化一下窗口再切换回去就能看到效果(是个无限的 alert ,只能用任务管理器关掉)。

Demo 代码如下:
  1. var statStr = '';
  2. window.onblur = function(){
  3.     statStr += "blur ";
  4.     }
  5. window.onfocus = function(){
  6.     statStr += "focus ";
  7.     alert(statStr);
  8.     }
复制代码
原理就是定义一个空的字符串 statStr ,每当 onblur 事件触发的时候就在后面接一个 “blur ”,每当 onfocus 事件触发的时候就在后面接一个 “focus ”,这样可以判断最小化及切换窗口的时候各个浏览器对这俩事件的触发情况。事实证明,尽管最后得到的字符串略有不同,但所有的浏览器在窗口状态切换的时候至少会触发一次这两个事件中的一个。

最后,既然都能触发,就用它来做想做的事情吧!

回复

使用道具 举报

ehdxgg01 该用户已被删除
发表于 2013-2-6 05:42:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则