用户切换浏览器标签的事件

时间:2009-06-24 14:12:18

标签: javascript cross-browser

我正在寻找一个事件,当用户从页面切换到另一个标签时会触发,另一个事件会在用户再次切换回标签时触发。

所有浏览器中的

window.onblur和window.onfocus don't seem to work correctly

为了合成这个事件,我可以看一下代理吗?

2 个答案:

答案 0 :(得分:35)

您可以尝试使用提供跨浏览器支持的框架,例如MooTools或jQuery。他们应该能够更可靠地检测浏览器窗口的blurfocus事件。

我个人使用jQuery取得了很大的成功:

$(window).blur(function(e) {
    // Do Blur Actions Here
});
$(window).focus(function(e) {
    // Do Focus Actions Here
});

答案 1 :(得分:17)

您也可以尝试使用VisibilityAPI

document.addEventListener("visibilitychange", function() {
    if (document.hidden){
        console.log("Browser tab is hidden")
    } else {
        console.log("Browser tab is visible")
    }
});

See also here on Stackoverflow (possible duplicate)