外部HTMLページをロードしているモーダルウィンドウがあります。コンテンツがロードされた後、このモーダルウィンドウを閉じる方法を理解しようとしています。これは外部ページなので、このコンテンツを変更することはできません。そのため、モーダルウィンドウのコンテンツが読み込まれたことを検出できるイベントリスナーを親ページに配置する必要があると思いますか?
どんな助けでも大歓迎です。
外部HTMLページをロードしているモーダルウィンドウがあります。コンテンツがロードされた後、このモーダルウィンドウを閉じる方法を理解しようとしています。これは外部ページなので、このコンテンツを変更することはできません。そのため、モーダルウィンドウのコンテンツが読み込まれたことを検出できるイベントリスナーを親ページに配置する必要があると思いますか?
どんな助けでも大歓迎です。
.load()
外部 HTML ページの読み込みに使用していますか? その場合、コールバック関数を関数に入れることができますload()
。このような:
$('#someDiv').load(function(){
//Put code to close the modal
});
JS:
モーダルから親ウィンドウのメソッドを呼び出すには:
window.opener.document.globalMethodInOpeningFile(param1, param2);
モーダル ウィンドウを閉じるには、コンテンツがロードされたらこれを呼び出します ( .load(callbackFn)
load` を確認するために使用できます)。
window.close();
Joomla のコア モーダル機能を使用していると仮定しています。もう 1 つの仮定は、制御ロジックがモーダル ウィンドウ内に配置されていることです。これが、イベントを発生させたい外部 HTML ページを開くワークフローがわからないため、答えが可能な限り単純ではない理由です。ただし、外部 HTML ページを開くロジックが起動した後、モーダル ウィンドウのレンダリングされた HTML 内に埋め込まれた次の JavaScript を使用して、モーダル ウィンドウを閉じることができます。
window.parent.SqueezeBox.close();