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

How to check whether the browser window is active or not?

本文关键字:是否 窗口 活动状态 浏览器 何检查 检查      更新时间:2023-09-26

我正在使用Javascript实现某种即时消息传递。当消息到达时,如果用户没有专注于浏览器窗口并且没有声音,我想播放声音。我已经看到关于窗口。onfocus窗口。onblur,但这些似乎是事件侦听器。相反,我想要一些更简单的东西,它将在顺序代码中返回true或false;因此,

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

有这样一个简单的,最好是单行的技术吗?

我不明白您为什么反对事件侦听器,或者为什么它需要在一行上。似乎侦听器正是你所需要的,不管有多少行。

var focused = true;
window.onfocus = window.onblur = function(e) {
    focused = (e || event).type === "focus";
}
function yourMessagingFunc() {
    if (focused === false) {
        playSound();
    }
}

我认为没有任何单行技术可以做到这一点。

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