Javascript 是否检测选项卡是否处于活动状态?(与焦点不同)

Javascript 是否检测选项卡是否处于活动状态?(与焦点不同),javascript,safari,dom-events,Javascript,Safari,Dom Events,我的Javascript使用计时器刷新页面的CSS。我喜欢在Safari处于后台并且在代码编辑器中进行更改时运行它,但我不希望它在不在活动浏览器选项卡中时运行 window.blur和window.focus在另一个选项卡处于焦点时被触发,但在该选项卡处于活动状态且Safari处于后台时也会被触发,因此它们在这里对我没有帮助 如何单独检测我的Javascript运行的选项卡当前是否处于活动状态?尝试类似于onmouseover的方法。这里有一些文档:W3C有一个工作草案来跟踪这种确切情况:。看起

我的Javascript使用计时器刷新页面的CSS。我喜欢在Safari处于后台并且在代码编辑器中进行更改时运行它,但我不希望它在不在活动浏览器选项卡中时运行

window.blur和window.focus在另一个选项卡处于焦点时被触发,但在该选项卡处于活动状态且Safari处于后台时也会被触发,因此它们在这里对我没有帮助


如何单独检测我的Javascript运行的选项卡当前是否处于活动状态?

尝试类似于onmouseover的方法。

这里有一些文档:

W3C有一个工作草案来跟踪这种确切情况:。看起来Chrome是唯一一款支持它的浏览器,目前有。您可以在Web Inspector控制台中使用以下小功能进行尝试:

function tattle() {
  console.log(document.webkitVisibilityState);
}

document.addEventListener("webkitvisibilitychange", tattle, false);

玩过之后,我想这正是我需要的。基本上,document.webkitHidden只有在文档位于其窗口的活动选项卡中时才为false,而不管其他窗口或应用程序是否处于活动状态。

这些仅适用于Safari扩展阅读引用的chrome页面时,我想我发现了一个错误。它声明document.webkitHidden如果页面处于对用户隐藏的状态,则返回true,否则返回false。。在这个答案中,它表示如果文档是窗口中的活动选项卡,则为真,而实际上为假。