Heim  >  Artikel  >  Web-Frontend  >  So erkennen Sie Fenster-Onload-Ereignisse in Popups

So erkennen Sie Fenster-Onload-Ereignisse in Popups

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 12:55:31499Durchsuche

How to Detect Window Onload Event in Popups

Fenster-Onload-Ereignis in Popups erkennen

Window.open ist eine primäre Methode zum Öffnen eines neuen Browserfensters oder Tabs in JavaScript. Durch die Angabe von Parametern wie Position, Abmessungen und Browser-Steuerelementen können Sie das Erscheinungsbild und die Funktionalität des Popups anpassen. Es gibt jedoch keine einfache Möglichkeit zu erkennen, wann das neu geöffnete Fenster vollständig geladen ist.

In Ihrem Beispielcode haben Sie versucht, $(window.popup).onload zur Verarbeitung des Ladeereignisses zu verwenden, was jedoch fehlgeschlagen ist in allen gängigen Browsern. Um diese Einschränkung zu überwinden, müssen Sie einen anderen Ansatz verfolgen.

Die Lösung besteht darin, den nativen „Load“-Ereignis-Listener zu nutzen. So können Sie es machen:

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

Diese Methode hängt einen Ereignis-Listener an das „load“-Ereignis des myPopup-Fensters an. Wenn die Seite im Popup vollständig geladen ist, wird die Funktion „myFunction“ ausgeführt.

Wenn Sie auf Internet Explorer abzielen, müssen Sie einen etwas anderen Ansatz verwenden, da IE bedingte Unterstützung für Ereignis-Listener bietet:

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

Diese bedingte Prüfung ermöglicht, dass der Code sowohl im IE als auch in modernen Browsern funktioniert. Es ist jedoch zu beachten, dass die Unterstützung des IE umständlich sein kann und nach Möglichkeit vermieden werden sollte.

Das obige ist der detaillierte Inhalt vonSo erkennen Sie Fenster-Onload-Ereignisse in Popups. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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