javascript - 如何检查浏览器窗口是否处于事件状态?

标签 javascript browser window focus

我正在使用 Javascript 来实现某种即时消息传递。当消息到达时,如果用户没有专注于浏览器窗口,我想播放声音,否则没有声音。我见过 window.onfocuswindow.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();
    }
}

关于javascript - 如何检查浏览器窗口是否处于事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16361764/

相关文章:

c++ - 在 opengl c++ 中禁用窗口调整大小

windows-runtime - WinJS 窗口大小

javascript - 如何使用 Bluebird 错误处理程序?

javascript - 使用 Flash 或 JavaScript 从浏览器中获取快照

ios - swift WebView 在导航按钮后打开不需要的浏览器

c# - 设置WebBrowser.DocumentText而不导航到about:blank

java - 如何在 swing 中使用 Smack API 停止打开重复窗口?

javascript - Ubuntu的最佳网页编辑器

javascript - 如何更改此 JavaScript 代码的字体颜色?

javascript - 使用 RegExp 在特殊字符位置对字符串进行子串