Heim > Web-Frontend > js-Tutorial > Wie gehe ich mit dem onLoad-Ereignis um, wenn Windows mit window.open geöffnet wird?

Wie gehe ich mit dem onLoad-Ereignis um, wenn Windows mit window.open geöffnet wird?

DDD
Freigeben: 2024-10-24 14:40:02
Original
528 Leute haben es durchsucht

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

Verarbeitung des onLoad-Ereignisses für Windows, das mit window.open geöffnet wird

Wenn window.open zum Erstellen eines neuen Fensters verwendet wird, kann es sein, dass der Onload-Ereignis-Listener funktioniert für das neu geöffnete Fenster nicht. Dieser Artikel befasst sich mit diesem Problem und bietet eine Lösung.

Der folgende Code veranschaulicht das Problem:

<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>
Nach dem Login kopieren

Dieser Code funktioniert nicht in gängigen Browsern wie IE, Firefox und Chrome. Um dieses Problem zu beheben, verwenden Sie stattdessen die Methode addEventListener:

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

Wenn Sie den IE unterstützen müssen, können Sie den folgenden Fallback-Code verwenden:

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

Die Unterstützung des IE kann jedoch umständlich sein Es ist entscheidend, die Zielgruppe zu berücksichtigen und bei Bedarf die notwendigen Vorkehrungen zu treffen.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit dem onLoad-Ereignis um, wenn Windows mit window.open geöffnet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage