Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以检测用户何时切换到其他浏览器选项卡?_Javascript_Firefox - Fatal编程技术网

Javascript 是否可以检测用户何时切换到其他浏览器选项卡?

Javascript 是否可以检测用户何时切换到其他浏览器选项卡?,javascript,firefox,Javascript,Firefox,我试图检测用户何时从当前浏览器选项卡切换到另一个选项卡。监听window.onblur在firefox中可以很好地检测用户何时将焦点切换到另一个窗口,但当用户切换到另一个选项卡时,它似乎不会触发。但是,当从另一个选项卡切换到有问题的选项卡时,似乎会触发onfocus 有没有一种方法可以检测用户何时从当前选项卡切换出去?显然,在Firefox中,如果使用事件处理程序的document.onBlur而不是window.onBlur,则可以切换选项卡。这个示例代码似乎适合我。当我切换选项卡时,我编辑了

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


有没有一种方法可以检测用户何时从当前选项卡切换出去?

显然,在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;
}