【问题标题】:Is it possible to detect when a user switches to a different browser tab?是否可以检测用户何时切换到不同的浏览器选项卡?
【发布时间】:2009-08-03 05:27:25
【问题描述】:

我正在尝试检测用户何时从当前浏览器选项卡切换到另一个选项卡。监听 window.onblur 在 Firefox 中可以很好地检测用户何时将焦点切换到另一个窗口,但当用户切换到另一个选项卡时它似乎不会触发。但是,从另一个选项卡切换到相关选项卡时,似乎会触发 onfocus。

有没有办法检测用户何时离开当前标签页?

【问题讨论】:

标签: javascript firefox


【解决方案1】:

显然,在 Firefox 中,如果您使用 document.onBlur 而不是 window.onblur 作为事件处理程序,它将适用于标签切换。

【讨论】:

  • 哇,没想到这样做,但它是有道理的。谢谢!
【解决方案2】:

这个示例代码似乎对我有用。我编辑了代码以在切换选项卡时显示一个警告框(请不要这样做)。它导致了一个无限循环;-) 并且不得不使用任务管理器关闭 FF。

来源:http://www.thefutureoftheweb.com/blog/detect-browser-window-focus

function onBlur() {
    document.body.className = 'blurred';
};
function onFocus(){
    document.body.className = 'focused';
};

if (/*@cc_on!@*/false) { // check for Internet Explorer
    document.onfocusin = onFocus;
    document.onfocusout = onBlur;
} else {
    window.onfocus = onFocus;
    window.onblur = onBlur;
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-06-10
  • 2012-08-07
  • 2015-06-27
  • 1970-01-01
  • 2013-10-31
  • 2010-11-05
  • 2017-03-14
  • 2011-11-15
相关资源
最近更新 更多