window.open で開かれた Windows の onLoad イベントの処理
window.open を使用して新しいウィンドウを作成すると、onload イベント リスナーが新しく開いたウィンドウでは機能しません。この記事では、この問題に対処し、解決策を示します。
次のコードは、この問題を示しています:
<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>
このコードは、IE、Firefox、Chrome などの主要なブラウザでは機能しません。この問題を解決するには、代わりに addEventListener メソッドを使用します。
<code class="js">var myPopup = window.open(...); myPopup.addEventListener('load', myFunction, false);</code>
IE をサポートする必要がある場合は、次のフォールバック コードを使用できます。
<code class="js">myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent']( (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false );</code>
IE のサポートは面倒な場合がありますが、対象ユーザーを考慮し、必要に応じて必要な配慮を行うことが重要です。
以上がwindow.open で開かれた Windows の onLoad イベントを処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。