如果窗口未处于活动状态,则运行函数

Run function if window is not active

本文关键字:运行 函数 活动状态 窗口 如果      更新时间:2023-09-26

我目前正在开发一个小型对话系统。

当用户写入新消息时,页面标题将更改为"新消息",这是预期的。

但是,如果在收到消息时窗口处于活动状态,则不应更新标题。

目前,无论窗口是否处于活动状态,它都会显示新消息,并且仅在用户更改选项卡并返回时再次将其删除。

如何使其仅在窗口处于活动状态时运行if (newCount !== messagesCount)函数?

这是当前代码:

if (newCount !== messagesCount) {
    document.title = 'New Message - ' + title;
}
$(window).focus(function() {
    document.title = title;
});

您可以尝试跟踪监听 onfocusonblur 窗口事件的窗口状态,如下所示:

var hasFocus = true;
window.onfocus = function(){ hasFocus = true;}
window.onblur = function(){ hasFocus = false;}

并在您的方法中检查 hasFocus 的值