Événement pour quand l'utilisateur change les onglets du navigateur

je suis à la recherche d'un événement qui se déclenche lorsque l'utilisateur bascule à partir de la page pour un autre onglet, et un autre événement qui se déclenche lorsque l'utilisateur revient à l'onglet nouveau.

de la fenêtre.onblur et window.onfocus ne semble pas fonctionner correctement dans tous les navigateurs

y a-t-il un proxy que je pourrais examiner pour synthétiser cet événement?

23
demandé sur EoghanM 2009-06-24 18:12:17

2 réponses

vous pourriez essayer d'utiliser un cadre, comme MooTools ou jQuery qui fournissent le soutien de cross-browser. Ils devraient être en mesure de détecter avec plus de fiabilité les événements blur et focus pour la fenêtre du navigateur.

j'ai personnellement utilisé jQuery avec beaucoup de succès:

$(window).blur(function(e) {
    // Do Blur Actions Here
});
$(window).focus(function(e) {
    // Do Focus Actions Here
});
33
répondu DanO 2009-06-24 14:42:48

vous pouvez également essayer et utiliser VisibilityAPI .

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

Voir aussi ici sur Stackoverflow (double)

12
répondu ronapelbaum 2017-10-20 14:29:05