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>
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>
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>
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!