Maison > interface Web > js tutoriel > Comment JavaScript peut-il détecter l'inactivité de la fenêtre du navigateur ?

Comment JavaScript peut-il détecter l'inactivité de la fenêtre du navigateur ?

DDD
Libérer: 2024-12-22 18:46:10
original
572 Les gens l'ont consulté

How Can JavaScript Detect Browser Window Inactivity?

Détection de l'inactivité de la fenêtre du navigateur à l'aide de JavaScript

Déterminer si une fenêtre du navigateur n'est pas activement mise au point est essentiel pour optimiser les performances et l'expérience utilisateur. JavaScript propose plusieurs options pour y parvenir.

API de visibilité de page

L'API de visibilité de page offre une méthode fiable pour détecter lorsqu'une page est masquée à l'utilisateur. Cette API est prise en charge par la plupart des navigateurs modernes, notamment Chrome, Firefox et Internet Explorer.

Pour utiliser l'API Page Visibility, ajoutez l'écouteur d'événement suivant :

document.addEventListener("visibilitychange", onchange);
Copier après la connexion

Dans la fonction onchange , vous pouvez vérifier la propriété document.visibilityState pour déterminer si la page est masquée ou visible :

function onchange(evt) {
  if (document.visibilityState == "hidden") {
    // Page is not active
  } else {
    // Page is active
  }
}
Copier après la connexion

Retour à Événements de flou/focus

Pour les navigateurs qui ne prennent pas en charge l'API Page Visibility, vous pouvez recourir à des événements de flou et de focus. Cette méthode est moins fiable, car elle peut se déclencher lorsque l'utilisateur change d'onglet ou ouvre une fenêtre modale.

Pour utiliser les événements de flou/focus, ajoutez les écouteurs d'événements suivants :

window.onblur = function() {
  // Window is not active
};

window.onfocus = function() {
  // Window is active
};
Copier après la connexion

Considérations de compatibilité

L'API de visibilité de page est prise en charge par la plupart des principaux navigateurs, tandis que les événements de flou/focus sont pris en charge par tous les navigateurs modernes. navigateurs. Pour une compatibilité maximale, envisagez d'utiliser l'API Page Visibility si elle est prise en charge et revenez aux événements de flou/focus dans le cas contraire.

En mettant en œuvre ces techniques, vous pouvez détecter efficacement lorsqu'une fenêtre de navigateur n'est pas activement mise au point et ajuster votre JavaScript en conséquence, améliorant les performances et l'expérience utilisateur sur votre site Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal