有没有办法检测浏览器窗口是否对用户可见?我知道之前有人问过这件事。但是,我看到的答案存在以下问题:
使用visibilityChange
事件。这种方法的问题是(至少在Mac上)当使用cmd + tab在应用程序之间切换时,不会触发此事件。
使用onBlur
和onFocus
个事件。这些解决了上述问题。但是,当页面的可见性不变时,这些也会触发。例如,如果浏览器在屏幕的一半中打开而另一半的应用程序在另一半中打开,那么在这些之间切换将导致这些事件触发;即使用户始终可以看到浏览器窗口。
使用onPageShow
和onPageHide
事件 - 这些对于可见性任务来说似乎毫无用处。例如,当页面最小化时,或者使用cmd + tab切换到占据整个窗口的另一个应用程序时,onPageHide
不会触发。
在给定上述问题的情况下,检查用户是否可以看到该页面的理想解决方案是什么?
谢谢。