我正在使用Javascript来实现某种即时消息。当消息到达时,如果用户没有聚焦在浏览器窗口上,我想播放声音,否则没有声音。我见过 window.onfocus 和 window.onblur ,但这些似乎是事件监听器。相反,我想要一些更简单的东西,它会在顺序代码中返回true或false;这样
if (windowOpen) // user on my window
{
playSound();
}
// do rest of the messaging
是否有这么简单,最好是单线技术?
答案 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