我意识到您可以使用以下内容轻松检查焦点:
var hasFocus = true;
$(window).blur(function(){
hasFocus = false;
});
$(window).focus(function(){
hasFocus = true;
});
然而,当用户在另一个应用程序中处理第一个屏幕时,在第二个屏幕上打开浏览器窗口时,这仍然等于false。
这是一个报告实时数据的实时应用程序,我不希望在用户将应用程序放在选项卡中或最小化时进行长轮询,但我确实希望在窗口运行轮询时正在观看(即使它没有聚焦)。
有没有办法检查窗口是否可以查看? (最好在旧浏览器中使用吗?)
答案 0 :(得分:1)
var hasFocus = true;
$(window)
.focus(function(eventObject){
eventObject.stopPropagation();
hasFocus = true;
})
.blur(function(eventObject){
eventObject.stopPropagation();
hasFocus = false;
});