我对此API有一个问题。一切都很好,但当我打开一些东西或切换到一些应用程序将通过浏览器(我没有最小化浏览器,只是打开它的东西),api不起作用,隐藏状态=假。有些人知道如何修复它吗?
答案 0 :(得分:2)
考虑https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API和Mozilla的演示,这是预期的行为。文档中提到的“焦点”仅适用于选项卡,而不适用于整个浏览器窗口(如果我理解正确的话)。
为了完整起见,这来自http://www.w3.org/TR/page-visibility/:
获取时,如果顶级浏览上下文包含的Document在至少一个屏幕上至少部分可见,则visibilityState属性必须返回DOMString。这与hidden属性设置为false的条件相同。
要容纳通常为全屏但仍显示页面视图的辅助功能工具(如果适用),在获取时,visibilityState属性可以在用户代理未最小化但是被其他应用程序完全遮盖时返回DOMString。
要检查整个窗口是否处于焦点,您可以使用document.hasFocus(),如下所述:https://stackoverflow.com/a/3479960/2445864