Heim >Web-Frontend >js-Tutorial >Wie kann ich das onLoad-Ereignis in Pop-ups überwachen, die mit window.open erstellt wurden?

Wie kann ich das onLoad-Ereignis in Pop-ups überwachen, die mit window.open erstellt wurden?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 13:35:31257Durchsuche

How Can I Monitor the onLoad Event in Pop-ups Created Using window.open?

Überwachung des onLoad-Ereignisses in mit window.open erstellten Popup-Fenstern

Das Erkennen des onLoad-Ereignisses in einem mit window.open geöffneten Fenster stellt in verschiedenen Browsern eine Herausforderung dar. Der folgende Code versucht, dies zu implementieren, schlägt jedoch fehl:

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");
};

Lösungen

Um das onLoad-Ereignis erfolgreich zu erfassen, werden die folgenden Methoden empfohlen:

1. addEventListener

Verwenden Sie für moderne Browser die addEventListener-Methode wie folgt:

var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);

2. attachmentEvent (für IE)

Wenn die Unterstützung von Internet Explorer von entscheidender Bedeutung ist, verwenden Sie die Methode attachmentEvent:

myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);

Achtung für IE-Unterstützung

Die Unterstützung von IE kann umständlich sein. Erwägen Sie nach Möglichkeit, dies zu vermeiden oder spezifische Lösungen für die IE-Kompatibilität zu implementieren.

Das obige ist der detaillierte Inhalt vonWie kann ich das onLoad-Ereignis in Pop-ups überwachen, die mit window.open erstellt wurden?. 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