ホームページ >ウェブフロントエンド >jsチュートリアル >window.open で開かれた Windows の onLoad イベントを処理する方法?

window.open で開かれた Windows の onLoad イベントを処理する方法?

DDD
DDDオリジナル
2024-10-24 14:40:02529ブラウズ

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

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。