`
flex_莫冲
  • 浏览: 1091959 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何判断当前窗口是否激活

 
阅读更多
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";
    }
})();



也可以监听鼠标移动事件,若移动则说明在当前窗口。若超过几分钟没动,则说明可能不在当前状态。但是性能上来说肯定是前一种方案更好。
分享到:
评论

相关推荐

    易语言判断激活窗口

    易语言判断激活窗口源码,判断激活窗口,GetForegroundwindow,取得类名称_,取窗口当前位置

    Qt-判断激活窗口(当前窗口)是不是自己

    5.保证无毒 1.简单,方便,实用 3.实例可以自行改用 1.如有非法,本人无法律责任! 8.更多作品,查找标签“朱建强”7.... 4.如需联系我请看左边数字!1.如不知代表何物,那就放弃计算机吧! 0....CSDN老板不让我上传联系方式。

    易语言取当前激活的窗口句柄

    函数“取窗口句柄”通常需要传入窗口的标题或类名作为参数,而“取激活窗口句柄”则可以直接返回当前被激活(即前台)窗口的句柄,无需额外参数。 在实际编写源码时,首先需要导入相关的易语言库,如“窗口控制”或...

    易语言HOOK判断激活窗口源码

    在这里,处理函数可能会检查窗口句柄,判断是否为激活窗口,并根据需要执行相应逻辑。 4. **窗口管理**:易语言提供了窗口操作的相关命令,如`窗口信息获取`,用于获取窗口的各种属性,包括是否激活。 5. **数据...

    winfrom 获取当前系统中被激活的窗口GetForegroundWindow

    winfrom 获取当前系统中被激活的窗口GetForegroundWindow

    易语言源码易语言HOOK判断激活窗口源码.rar

    4. 处理消息:在钩子函数中,检查消息类型,如果满足条件(例如,消息表示窗口激活),则执行相应的操作。 5. 取消挂钩:在不再需要监听时,使用`取消系统消息挂钩`命令移除已注册的钩子。 这段源码中,"易语言...

    VBA示例之 求人不如自已动手 取得当前激活窗口句柄及标题

    VBA示例之 求人不如自已动手 取得当前激活窗口句柄及标题,供初学者参考,大牛勿进~~~~~~~

    易语言源码易语言取当前激活的窗口句柄源码.rar

    本压缩包“易语言源码易语言取当前激活的窗口句柄源码.rar”包含了使用易语言编写的一段程序,其主要功能是获取当前系统中激活窗口的句柄。 首先,我们要理解“窗口句柄”。在Windows操作系统中,窗口句柄(HWND)...

    取当前激活的窗口句柄.rar

    取当前激活的窗口句柄.rar

    易语言源码自动激活还原已最小化运行窗口.7z

    1. **窗口状态检测**:首先,程序需要检测当前窗口的状态,判断窗口是否已经被最小化。这通常通过调用系统API函数如`IsIconic()`来实现。 2. **事件处理**:程序需要监听特定的事件,比如激活事件、最小化事件或者...

    易语言取当前激活的窗口句柄源码

    易语言取当前激活的窗口句柄源码。@易语言源码分享站。

    激活哪个窗体就锁住哪个窗口

    vb+api编写的,简简单单几行代码,有意想不到的效果.激活哪个窗体就锁住哪个窗口

    HTML5中判断用户是否正在浏览页面的方法

    现在,HTML5里页面可见性接口就提供给了程序员一个方法...visibilityState的值要么是visible (表明页面为浏览器当前激活tab,而且窗口不是最小化状态),要么是hidden (页面不是当前激活tab页面,或者窗口最小化了。),

    获取当前IE窗口的html

    在Windows操作系统中,IE浏览器提供了ActiveX控件,允许开发者通过编程接口(API)访问浏览器内部的信息,包括当前窗口的HTML。在JavaScript中,我们可以利用ActiveXObject来实现这一目标。ActiveXObject是IE特有的...

    listenpage用于监听window窗口是否是顶层窗口监听窗口切换的方法

    在浏览器环境中,窗口的焦点状态通常与用户的交互行为紧密相关,比如用户点击了浏览器中的另一个标签页或者最小化了当前窗口。了解窗口的状态对于实现某些特定的用户体验优化或者数据分析功能非常重要。 在...

    当前窗口记录器

    "当前窗口记录器"是一款专为了解决在工作或娱乐过程中突然被其他程序打断问题而设计的工具。它能够帮助用户记录并定位那些无端抢占焦点的程序,从而提高工作效率和游戏体验。以下是对这款工具及其相关知识点的详细...

    易语言灰色按钮激活

    如果当前窗口是活动的,那么可以考虑激活灰色按钮。 4. **激活窗口**:当满足特定条件时,可以使用“激活窗口”命令将窗口设置为活动状态,这可能会使窗口内的按钮(包括灰色按钮)变得可交互。 在实际应用中,...

    delphi开发MDI多窗口程序(office word那种父子窗口).zip_word2010窗口最前

    在Delphi中,可以通过`Application.MdiChildren`属性获取当前MDI应用程序中的所有子窗口列表,`ActiveMdiChild`属性则表示当前激活的子窗口。 总的来说,这个压缩包文件包含的内容是关于如何使用Delphi开发具有MDI...

    vc++ 枚举出桌面上所有的窗口_真棒!

    还可以使用`IsWindowVisible`来检查窗口是否可见,`IsWindowEnabled`判断窗口是否可交互。 在实际应用中,我们可能还需要处理窗口类名(Class Name)。这可以通过`GetClassName`函数实现,它返回窗口的类名字符串,...

    matlab开发-BRING当前窗口向前

    "BRING当前窗口向前"是一个常见的需求,它涉及到图形用户界面(GUI)的管理。本篇文章将详细探讨如何在MATLAB中实现这一功能,并通过提供的gf.m文件进行说明。 MATLAB中的图形窗口通常是figure对象,每个figure都有...

Global site tag (gtag.js) - Google Analytics