回答は既に選択されていますが、私は別の方法で共有したいと思います。
document
でhasFocus
メソッドを使用して、フォーカスがあるかどうかを確認できます。独自の変数を設定する理由はありません。
ここに、概念コードの証明があります。 jsFiddleは一番下にあります。 3秒ごとに、ウィンドウにフォーカスがあるかどうかがチェックされ、trueまたはfalseが表示されます。
HTML:
<p>This will show if the document has focus every three seconds</p>
<button id="go">Go</button>
<button id="stop">Stop</button>
<ul id="active_log">
</ul>
CSS:内部
#stop { display: none; }
Javascriptの文書準備に:
var timeout = null;
var checkActive = function() {
var isActive = window.document.hasFocus(),
$activity = $("<li />").text(isActive.toString());
$('#active_log').prepend($activity).find('li:nth-child(n+6)').fadeOut(function() {
$(this).remove();
});
timeout = setTimeout(checkActive, 3000);
}
$('#go').click(function() {
$(this).hide().siblings('button').show();
checkActive();
});
$('#stop').click(function() {
$(this).hide().siblings('button').show();
clearTimeout(timeout);
timeout = null;
});
http://jsfiddle.net/natedavisolds/2D7za/1/
あなたが意味:* CHATのポップアップが開いている場合* ? –
あなたはgmailを使っている、電子メールを読んでいると思っています。そして、あなたはメッセージを受け取りました。その場合、Gmailはデスクトップ通知を表示しません(ページはフォアグラウンドにあるので)あなたはデスクトップ通知によって警告されます。 Gmailはその状態をどのように理解していますか? –