Javascript 是否可以检测用户何时切换到其他浏览器选项卡?
我试图检测用户何时从当前浏览器选项卡切换到另一个选项卡。监听window.onblur在firefox中可以很好地检测用户何时将焦点切换到另一个窗口,但当用户切换到另一个选项卡时,它似乎不会触发。但是,当从另一个选项卡切换到有问题的选项卡时,似乎会触发onfocusJavascript 是否可以检测用户何时切换到其他浏览器选项卡?,javascript,firefox,Javascript,Firefox,我试图检测用户何时从当前浏览器选项卡切换到另一个选项卡。监听window.onblur在firefox中可以很好地检测用户何时将焦点切换到另一个窗口,但当用户切换到另一个选项卡时,它似乎不会触发。但是,当从另一个选项卡切换到有问题的选项卡时,似乎会触发onfocus 有没有一种方法可以检测用户何时从当前选项卡切换出去?显然,在Firefox中,如果使用事件处理程序的document.onBlur而不是window.onBlur,则可以切换选项卡。这个示例代码似乎适合我。当我切换选项卡时,我编辑了
有没有一种方法可以检测用户何时从当前选项卡切换出去?显然,在Firefox中,如果使用事件处理程序的
document.onBlur
而不是window.onBlur
,则可以切换选项卡。这个示例代码似乎适合我。当我切换选项卡时,我编辑了代码以显示一个警报框(请不要这样做)。它导致了一个无限循环;-)必须使用任务管理器关闭FF
资料来源:
哇,我没想过要这么做,但这是有道理的。谢谢@maksymko–这就是所谓的。更新:从2013年起,所有主要浏览器都支持所谓的。有关示例,请参见此处:
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;
}