如何检查浏览器窗口是否处于活动状态?

时间:2013-05-03 14:50:13

标签: javascript browser window focus

我正在使用Javascript来实现某种即时消息。当消息到达时,如果用户没有聚焦在浏览器窗口上,我想播放声音,否则没有声音。我见过 window.onfocus window.onblur ,但这些似乎是事件监听器。相反,我想要一些更简单的东西,它会在顺序代码中返回true或false;这样

if (windowOpen) // user on my window
{
    playSound();
}
// do rest of the messaging

是否有这么简单,最好是单线技术?

2 个答案:

答案 0 :(得分:3)

我不明白你对事件监听器有什么,或者为什么它需要在一行上。看起来像听众正是你需要的,无论有多少行。

var focused = true;

window.onfocus = window.onblur = function(e) {
    focused = (e || event).type === "focus";
}

function yourMessagingFunc() {
    if (focused === false) {
        playSound();
    }
}

答案 1 :(得分:1)

我认为没有任何单行技术。

请参阅: http://www.thefutureoftheweb.com/blog/detect-browser-window-focus