确定网页是否具有前景窗口焦点/是活动标签?

mat*_*sta 6 javascript html5 focus

如果我能检测到该页面不再聚焦,我希望能够将我的应用程序的活动静音.例如,如果页面位于后台选项卡或其他应用程序具有焦点,我想禁用不断轮询的脚本或将模式通知切换到新的HTML5通知API.

有没有办法用JS获得这个,如果有的话,支持哪些浏览器?

PS - 我已经看过,但不知道它是否适用于我想做的事情.有人有任何见解吗?

Jac*_*kin 15

您可以blur在您的上方收听事件window,然后在用户回来时,您可以使用该focus事件:

这是jQuery中的一个例子:

$(window).blur(disableStuff).focus(enableStuff);
Run Code Online (Sandbox Code Playgroud)

或者在纯JavaScript中:

window.onblur = disableStuff;
window.onfocus = enableStuff;
Run Code Online (Sandbox Code Playgroud)