11

フォーカスが戻った後にページを更新したいと思います。さわやかな部分については、私が使用するかもしれないと思った:

location.reload();

難しいのは、いつ更新するかをどのように判断するかということです。最初に、ウィンドウはフォーカスを失う必要があります(これは、私が推測する
ことで決定できます)。 フォーカスを失ったウィンドウがフォーカスに戻った後でのみ、それ自体のリフレッシュをトリガーする必要があります。ロケで使えますか?それとも、ここで何か他のものを使用する必要がありますか?.blur()
.focus()

これら2つのケースをどのように組み合わせることができますか?

あなたのアプローチは何ですか?

4

3 に答える 3

23

これを試して:

var blurred = false;
window.onblur = function() { blurred = true; };
window.onfocus = function() { blurred && (location.reload()); };

これは、ページが非表示になっている場合にのみページをリロードします

jQuery でウィンドウ フォーカスにバインドすることはお勧めしません。ほとんどすべてのユーザー アクションでページがリロードされます。

アップデート

これは、window.onfocus と window.onblur のブラウザー実装に大きく依存しています。Webkit は、ページが非表示の場合に firefox がぼかしを呼び出す onblur イベントをサポートしていない可能性があります (私の chromium ではサポートしていませんでした)。

于 2012-07-03T15:00:04.637 に答える