おはようございます。複数のソースを持つiframeの親ドキュメントのjavascript(とjQueryなどのライブラリ)を使用してください。
私は、ビューの1つがiframeで実装されているアプリケーションがあり、iframe srcは「親」ドキュメントのいくつかをクリックすると変更されます。基本的には常に同じコンテナがありますが、iframeの内容はユーザーの選択に応じて変更されます。 のがあるだろうと言ってみましょう:
各...(すべてのjsロジックを持つことになります)
parent.html
child1.html
child2.html
「子」ページは、(ほとんど、あるいはまったく)JavaScriptを持たないhtmlページになります。私が得たいのは、ユーザーがchild1.htmlに到着すると、すべての子にグローバルなコードだけが実行され、もちろんそのページに関連するコードも実行されるということです。 child1.htmlでは、いくつかのajax呼び出しを実行してから、テーブルを処理するjsやそのようなものを実行する必要があるとします。 child2.htmlには、独自のバリデーションがあるフォームと、フォームを送信する別のajaxコール(child1.htmlに表示されます)があります。
parent.htmlには、すべての子ページのjsコードを含む大きなjsライブラリがあるので、私が持っていると思うのは、私がどのページに「知って」いるのか、そのページに関連するコードの部分。唯一のコードを実行する可能性childpages上
var myGlobalObject = {username:undefined,foo:1}
if(childpage1.html){
if (myGlobalObject.username == undefined){
$.ajax(retrieve username);
$("#someTableIniFrame",iframeContext).doSomething();
}
}
if(childpage2.html){
$("body",iframeContext2).on("submit","#someFormOnChild2", function(){
//do something
});
}
および/または何か...のような:私は何に明らかにされていることを願ってい
document.addEventListener("DOMContentLoaded", function(event) {
//execute only my part of the global js!
});
構造は次のようになります私は入手したい:
親ページは、すべてのjsは、オンデマンドで実行されるか、私たちがどのページを理解する能力を持つ子どもに使用される。
いくつかの子ページがありません。
ちょうど情報のため、iframe srcは親ページのjsによって変更されます。前のページを破棄し、新しいiframeに新しいソースを追加します。
読み込んでいるページにJavaScriptコードを追加しようとしましたか? –
私は実際にassestment段階にあります、私はそれを整理する方法を理解しようとしています、子どものページがたくさんあるので。 –
私は今、親にjs関数を「ラップする」方法を探しているので、子供からは必要な部分だけを呼び出すことができます。 –