0

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

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

有没有这么简单,最好是单行的技术?

4

2 回答 2

3

我不明白你对事件监听器有什么看法,或者为什么它需要放在一行上。似乎听众正是您所需要的,无论有多少行。

var focused = true;

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

function yourMessagingFunc() {
    if (focused === false) {
        playSound();
    }
}
于 2013-05-03T14:55:46.010 回答
1

我认为没有任何单行技术可以解决这个问题。

见: http ://www.thefutureoftheweb.com/blog/detect-browser-window-focus

于 2013-05-03T14:58:01.473 回答