Maison >interface Web >js tutoriel >Comment gérer l'événement onLoad pour Windows ouvert avec window.open ?

Comment gérer l'événement onLoad pour Windows ouvert avec window.open ?

DDD
DDDoriginal
2024-10-24 14:40:02529parcourir

How to Handle onLoad Event for Windows Opened with window.open?

Gestion de l'événement onLoad pour Windows ouvert avec window.open

Lors de l'utilisation de window.open pour créer une nouvelle fenêtre, l'écouteur d'événement onload peut ne parvient pas à fonctionner pour la fenêtre nouvellement ouverte. Cet article aborde ce problème et propose une solution.

Le code suivant illustre le problème :

<code class="js">window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0');
$(window.popup).onload = function() {
  alert("Popup has loaded a page");
};</code>

Ce code ne fonctionnera pas dans les principaux navigateurs comme IE, Firefox et Chrome. Pour résoudre ce problème, utilisez plutôt la méthode addEventListener :

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

Si vous devez prendre en charge IE, vous pouvez utiliser le code de secours suivant :

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

Bien que la prise en charge d'IE puisse être fastidieuse , il est crucial de considérer le public cible et de faire les aménagements nécessaires si nécessaire.

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