一篇 关于其他 答案的文章介绍了如何运行JavaScript脚本来判断当前窗口是否处于活动状态。然而,这样做的选择性相当有限,并没有区分(例如)
- 最小化的窗口
- 未激活的选项卡
- 部分被其他程序浮动窗口遮挡的浮动窗口
- 一个选项卡在一个监视器上全屏,而用户在另一个监视器上执行操作。
尽管在后两种情况下网页仍然对用户可见,但所有这些都被认为是不活动的。
尽管有证据表明由于Web浏览器沙箱的工作方式,这可能在技术上是不可能的,但我仍然希望能够检测上述差异。例如,暂停动画以进行(1)或(2),但保持其进行(3)或(4)。我想知道Javascript(加上框架,我猜,或WebAssembly)是否提供了一种机制来确定这一点-或者,如果失败,则任何特定的浏览器是否具有从一个页面的javascript代码中确定它的机制。