如何判断当前窗口是否激活
2017-03-28 14:22
459 查看
http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active
也可以监听鼠标移动事件,若移动则说明在当前窗口。若超过几分钟没动,则说明可能不在当前状态。但是性能上来说肯定是前一种方案更好。
Current browser support: Chrome 13 Internet Explorer 10 Firefox 10 Opera 12.10 [read notes] The following code makes use of the API, falling back to the less reliable blur/focus method in incompatible browsers. (function() { var hidden = "hidden"; // Standards: if (hidden in document) document.addEventListener("visibilitychange", onchange); else if ((hidden = "mozHidden") in document) document.addEventListener("mozvisibilitychange", onchange); else if ((hidden = "webkitHidden") in document) document.addEventListener("webkitvisibilitychange", onchange); else if ((hidden = "msHidden") in document) document.addEventListener("msvisibilitychange", onchange); // IE 9 and lower: else if ('onfocusin' in document) document.onfocusin = document.onfocusout = onchange; // All others: else window.onpageshow = window.onpagehide = window.onfocus = window.onblur = onchange; function onchange (evt) { var v = 'visible', h = 'hidden', evtMap = { focus:v, focusin:v, pageshow:v, blur:h, focusout:h, pagehide:h }; evt = evt || window.event; if (evt.type in evtMap) document.body.className = evtMap[evt.type]; else document.body.className = this[hidden] ? "hidden" : "visible"; } })();
也可以监听鼠标移动事件,若移动则说明在当前窗口。若超过几分钟没动,则说明可能不在当前状态。但是性能上来说肯定是前一种方案更好。
相关文章推荐
- C# 如何判断并且激活,最大化已有的外部应用程序的窗口? (源码例程)
- 如何判断当前是否在线!
- .Net - C# 如何判断程序里某个窗体是否为Windows的当前活动窗体?(附代码)
- VC如何判断窗口是否无响应
- 如何判断Android手机当前是否联网?
- 如何判断一个日期是否属于当前系统本月的日期
- [转载]判断当前窗口是否是全屏的山寨版和官方版
- 如何判断Android手机当前是否联网?
- 如何判断是否以独占方式打开当前数据库?
- 如何判断Android手机当前是否联网?
- 如何判断是否以独占方式打开当前数据库?
- 判断当前是否有窗口全屏
- 如何判断当前程序是否运行在虚拟机内
- 如何判断XP是否已激活
- 如何判断当前用户是否是系统管理员
- 如何判断是否以独占方式打开当前?
- c# winform中如何判断DataGrid当前选中的是空白行,并根据选择控制按钮是否可用
- 如何判断当前WM系统是否是Smartphone?
- 如何判断Android手机当前是否联网?
- 【WM】如何判断给定窗口是否是电话应用窗口