web-dev-qa-db-ja.com

ユーザーがブラウザのタブを切り替えたときのイベント

ユーザーがページから別のタブに切り替えたときに発生するイベントと、ユーザーが再びタブに戻ったときに発生する別のイベントを探しています。

window.onblurおよびwindow.onfocus 正しく機能していないようです すべてのブラウザで

このイベントを合成するために見ることができるプロキシはありますか?

27
EoghanM

クロスブラウザサポートを提供するMooToolsやjQueryなどのフレームワークを使用してみてください。ブラウザウィンドウのblurおよびfocusイベントをより信頼性の高い方法で検出できる必要があります。

私は個人的にjQueryを使用して多くの成功を収めてきました。

$(window).blur(function(e) {
    // Do Blur Actions Here
});
$(window).focus(function(e) {
    // Do Focus Actions Here
});
38
DanO

VisibilityAPI を試して使用することもできます。

document.addEventListener("visibilitychange", function() {
    if (document.hidden){
        console.log("Browser tab is hidden")
    } else {
        console.log("Browser tab is visible")
    }
});

Stackoverflow(重複の可能性あり)についてはこちらもご覧ください

19
ronapelbaum