Maison  >  Article  >  interface Web  >  Comment détecter l'événement de chargement de fenêtre dans les fenêtres contextuelles

Comment détecter l'événement de chargement de fenêtre dans les fenêtres contextuelles

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 12:55:31499parcourir

How to Detect Window Onload Event in Popups

Détection de l'événement de chargement de fenêtre dans les fenêtres contextuelles

Window.open est une méthode principale pour ouvrir une nouvelle fenêtre ou un nouvel onglet de navigateur en JavaScript. En spécifiant des paramètres tels que la position, les dimensions et les contrôles du navigateur, vous pouvez personnaliser l'apparence et les fonctionnalités de la fenêtre contextuelle. Cependant, il n'existe aucun moyen simple de détecter le chargement complet de la fenêtre nouvellement ouverte.

Dans votre exemple de code, vous avez tenté d'utiliser $(window.popup).onload pour gérer l'événement de chargement, mais cela a échoué. dans tous les principaux navigateurs. Pour surmonter cette limitation, vous devez utiliser une approche différente.

La solution consiste à exploiter l'écouteur d'événement natif « load ». Voici comment procéder :

<code class="javascript">var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);</code>

Cette méthode attache un écouteur d'événement à l'événement 'load' de la fenêtre myPopup. Une fois le chargement de la page dans la fenêtre contextuelle terminé, la fonction myFunction sera exécutée.

Si vous ciblez Internet Explorer, vous devrez utiliser une approche légèrement différente, car IE prend en charge les écouteurs d'événements de manière conditionnelle :

<code class="javascript">myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);</code>

Cette vérification conditionnelle permet au code de fonctionner à la fois dans IE et dans les navigateurs modernes. Cependant, il convient de noter que la prise en charge d'IE peut être fastidieuse et doit être évitée si possible.

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!

Déclaration:
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