是否可以检测网络浏览器窗口当前是否被另一个窗口覆盖?
document.hidden 和 document.visibilityState 仅在切换选项卡或整个窗口最小化时更改状态。
如果窗口可见但未获得焦点(例如焦点位于任务栏上),则 document.hasFocus() 返回 false
不,这是不可能的。
JavaScript 中无法知道窗口的可见程度。
浏览器窗口彼此重叠、浏览器窗口的位置以及其中哪一个位于顶部 - 这些功能均由操作系统处理。
无论您为网页编写什么代码,您都无法判断您的浏览器窗口是否与另一个浏览器窗口重叠。
是的,答案是不。
如果您的网站作为一个网站运行,则很有可能。 通过使用窗口焦点和模糊事件。
注意:这期望所有代码都在同一帧中执行,因为下面的代码片段是在 iframe 中执行的,其行为就像在单独的窗口中一样!
var element = document.getElementById("out");
window.onblur = () => {
element.innerHTML = "I lost focus"
}
window.onfocus = () => {
element.innerHTML = "Focus"
}
<div id="out">Focus</div>