我的javascript使用计时器来刷新页面的CSS。我喜欢在Safari处于后台时运行它并且我在我的代码编辑器中进行更改,但是当它不在活动的浏览器选项卡中时我不希望它运行。
当另一个标签处于焦点时, window.blur
和window.focus
会被触发,但当标签处于活动状态且Safari位于后台时,它们也会被触发,因此它们在这里没有帮助我。
如何检测我的javascript运行的标签当前是否处于活动状态?
答案 0 :(得分:1)
W3C有一份工作草案,可以跟踪这一情况:the page visibility API。 Chrome浏览器是唯一支持它的浏览器,目前只有an experimental API。您可以使用Web Inspector控制台中的这个小功能进行试用:
function tattle() {
console.log(document.webkitVisibilityState);
}
document.addEventListener("webkitvisibilitychange", tattle, false);
在玩完之后,我认为这正是我所需要的。基本上,如果文档位于其窗口的活动选项卡中,则document.webkitHidden仅为false,无论其他窗口或应用程序是否处于活动状态。
答案 1 :(得分:0)
尝试像onmouseover ..
答案 2 :(得分:0)