我们用window._FOCUSED变量来记录当前的IE窗口是否在最前面,第一个想到的是这样的判断逻辑:
window._FOCUSED = true;
Event.observe(window, 'blur', function(){
window._FOCUSED = false;
}, false);
Event.observe(window, 'focus', function(){
window._FOCUSED = true;
}, false);
可惜的是,window对象的onfocus/onblur事件的触发并不能判定当前窗口是否就位于最前显示,
因为window内部任何一个html元素的focus、甚至window内部的iframe页面上的html元素focus,
都会触发当前window对象的onblur。
下面是另外一段代码,即利用document的onfocusin/onfocusout事件的触发,判断当前
IE窗口是否在最前显示
window._FOCUSED = true;
Event.observe(document, 'focusout', function(){
window._FOCUSED = false;
}, false);
Event.observe(document, 'focusin', function(){
window._FOCUSED = true;
}, false);