javascript - 在 Javascript 中,如何检测浏览器窗口何时在 View 中?

标签 javascript cross-browser window

我意识到您可以使用如下方式轻松检查焦点:

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

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

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

有没有办法检查窗口是否是 View ? (最好在旧版浏览器中运行?)

最佳答案

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

关于javascript - 在 Javascript 中,如何检测浏览器窗口何时在 View 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679755/

相关文章:

javascript - 检测数组中的数字模式

javascript - 用于删除与主数组匹配的数组的任何 lodash 函数

javascript - 如何处理 IE 8 中缺少 JavaScript Object.bind() 方法

jquery - 如何使用 JQuery 或 CSS 在 IE、chrome 等按钮上闪烁文本

html - 在新选项卡或窗口中打开链接

Javascript WIndows PopUp 函数冲突

javascript - Joomla com媒体图像选择对象[object Object]的属性 '$'不是一个函数index.php

javascript - 我可以将多个 calendarID 与 google calendar api 一起使用吗?

javascript - document.execCommand 复制命令不起作用或其他解决方案?

java - Eclipse Java 控制台应用程序未显示