Maison  >  Article  >  interface Web  >  Comment détecter les événements de chargement de fenêtre dans les fenêtres enfants ouvertes via Window.open ?

Comment détecter les événements de chargement de fenêtre dans les fenêtres enfants ouvertes via Window.open ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 14:33:02399parcourir

How to Detect Window Load Events in Child Windows Opened via Window.open?

Détection des événements de chargement de fenêtre pour Windows ouvert via window.open

La détection de l'événement de chargement d'une fenêtre ouverte à l'aide de window.open est essentielle pour communication entre les fenêtres parent et enfant. Bien que l'approche décrite dans l'extrait de code initial ne fonctionne pas dans de nombreux navigateurs, voici une solution robuste :

Utilisation de la méthode addEventListener :

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

Ceci La méthode est prise en charge par tous les principaux navigateurs, y compris IE, Firefox et Chrome.

Prise en charge d'IE avec attachEvent :

Si la prise en charge d'IE est cruciale, le code suivant peut être utilisé à la place de addEventListener :

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

Cette approche offre une compatibilité descendante avec les anciennes versions d'IE.

Remarque sur la prise en charge d'IE :

Extension de la prise en charge pour IE peut être fastidieux. Envisagez d’utiliser des approches alternatives si possible. Cependant, si votre audience nécessite le support d'IE, la méthode attachEvent est une solution fiable.

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