在Javascript中,如何检测浏览器窗口何时在视图中?

时间:2012-05-21 05:09:48

标签: javascript cross-browser window

我意识到您可以使用以下内容轻松检查焦点:

var hasFocus = true;
$(window).blur(function(){
    hasFocus = false;
});
$(window).focus(function(){
    hasFocus = true;
});

然而,当用户在另一个应用程序中处理第一个屏幕时,在第二个屏幕上打开浏览器窗口时,这仍然等于false。

这是一个报告实时数据的实时应用程序,我不希望在用户将应用程序放在选项卡中或最小化时进行长轮询,但我确实希望在窗口运行轮询时正在观看(即使它没有聚焦)。

有没有办法检查窗口是否可以查看? (最好在旧浏览器中使用吗?)

1 个答案:

答案 0 :(得分:1)

var hasFocus = true;
$(window)
.focus(function(eventObject){
    eventObject.stopPropagation();
    hasFocus = true;
})
.blur(function(eventObject){
     eventObject.stopPropagation();
     hasFocus = false;
 });