【问题标题】:How do I detect if the browser window is active如何检测浏览器窗口是否处于活动状态
【发布时间】:2010-10-01 17:36:28
【问题描述】:

我目前使用的代码是这样的

var focus;
function focuswindow() { focus = true; }
function hidewindow() { focus = false; }
window.onfocus = focuswindow();
window.onblur = hidewindow();

想法是可以这样使用

if( focus ) { //do something
}

但是它不起作用。此外,它只需要在 Chrome 上工作(所以没有遗留的 IE 东西),因为它是 Chrome 扩展。

【问题讨论】:

    标签: javascript html google-chrome google-chrome-extension


    【解决方案1】:

    它不起作用的原因是您立即调用函数并将undefined 的返回值分配给onfocusonblur

    相反,onfocusonblur 应该按名称引用函数。

    试试这个:

    window.onfocus = focuswindow;
    window.onblur = hidewindow;
    

    请注意,我删除了 () 呼叫运算符。现在onfocusonblur 正在引用这些函数,并在事件发生时调用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      相关资源
      最近更新 更多