我目前正在开发一个小型会话系统。
当用户编写新邮件时,页面标题将更改为新邮件,这是预期的。
但是,如果收到邮件时窗口处于活动状态,则标题应不更新。
目前,无论窗口是否处于活动状态,它都会显示新消息,并且只有在用户更改标签并返回时才会再次将其删除。
如果窗口不处于活动状态,如何使其仅运行if (newCount !== messagesCount)
功能?
这是当前的代码:
if (newCount !== messagesCount) {
document.title = 'New Message - ' + title;
}
$(window).focus(function() {
document.title = title;
});
答案 0 :(得分:1)
您可以尝试跟踪收听 onfocus 和 onblur Windows事件的窗口状态,例如:
var hasFocus = true;
window.onfocus = function(){ hasFocus = true;}
window.onblur = function(){ hasFocus = false;}
并在方法中检查 hasFocus
的值