1

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

当用户编写新消息时,页面的标题会更改为New Message,这是预期的。

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

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

if (newCount !== messagesCount)如果窗口处于活动状态,如何使其仅运行该功能?

这是当前代码:

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

$(window).focus(function() {
    document.title = title;
});
4

1 回答 1

1

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

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

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

于 2013-01-25T16:27:55.373 回答