1

私は現在、小さな会話システムを開発しています。

ユーザーが新しいメッセージを書き込むと、ページのタイトルが意図されたNew Messageに変わります。

ただし、メッセージを受信したときにウィンドウがアクティブである場合、タイトルは更新されません。

現在、ウィンドウがアクティブであるかどうかに関係なく、新しいメッセージを表示し、ユーザーがタブを変更して元に戻したときにのみ、それを再度削除します。

ウィンドウがアクティブでないif (newCount !== messagesCount)場合にのみ関数を実行するにはどうすればよいですか?

現在のコードは次のとおりです。

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

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

1 に答える 1

1

次のように、 onfocusおよびonblurwindowsイベントをリッスンしているウィンドウステータスを追跡することができます。

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

メソッドにhasFocusの値をチェックインします

于 2013-01-25T16:27:55.373 に答える