是否可以检测Web浏览器窗口当前是否被另一个窗口覆盖?如何检测当前窗口是否在另一个窗口后面,使用Javascript
document.hidden和document.visibilityState只改变切换选项卡上的状态或整个窗口最小化时的状态。如果窗口是可见的,但不在焦点(例如焦点在任务栏上)
是否可以检测Web浏览器窗口当前是否被另一个窗口覆盖?如何检测当前窗口是否在另一个窗口后面,使用Javascript
document.hidden和document.visibilityState只改变切换选项卡上的状态或整个窗口最小化时的状态。如果窗口是可见的,但不在焦点(例如焦点在任务栏上)
都能跟得上
document.hasFocus()返回false,这是不可能的。
JavaScript无法知道窗口的可见性。
...来自web上下文。在Chrome上下文(插件)中,您可以访问[更强大的API](https://developer.chrome.com/extensions/windows)。 – Kaiido
@Kaiido看不到你是怎么知道窗口是否与该API重叠(只能快速浏览它),其他浏览器也是如此。 – George
@George,答案显示* JavaScript没有办法知道窗口的可见性*我链接的API提供的信息如['WindowState'](https://developer.chrome.com/extensions/windows #WindowState),'top','left','width','height'。所以通过遍历所有的窗口,你可以知道**浏览器的一个**窗口是否在另一个窗口之上。但是,当然,它仍然局限于这个浏览器的窗口。 – Kaiido
如果来自同一个域 - 有一些技巧是的。如果窗口覆盖了来自不同域或甚至应用程序的窗口 - 否 – Peter
@Peter:即使那样,您仍然不知道工具栏的大小或窗口在屏幕上的位置。 – Cerbrus
@Cerbrus [window.screenX](https://developer.mozilla.org/en-US/docs/Web/API/Window/screenX)呢? – Kaiido