是否可以檢測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