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!