フレームワークプログラミングの概要
HTML ページには、
フレーム間の参照
ページ内のすべてのフレームは、コレクションの形式でウィンドウ オブジェクトの属性として提供されます。例: window.frames は、フォーム オブジェクト、リンク オブジェクト、ピクチャと同様に、ページ内のすべてのフレームのコレクションを表します。違いは、これらのコレクションがドキュメントのプロパティであることです。したがって、サブフレームを参照するには、次の構文を使用できます:
window.frames["frameName"];
window.frames.frameName
window.frames[index]
このうち、window という単語は self に置き換えたり省略したりすることもできます。 FrameName がページ Frame の最初のものであると仮定すると、次の記述メソッドは同等です:
self.frames[ "frameName"]
self.frames[0]
frames[0]
frameName
各フレームは HTML ページに対応するため、これはフレームは独立したブラウザ ウィンドウでもあり、ウィンドウのすべてのプロパティを持ちます。フレームへのいわゆる参照は、ウィンドウ オブジェクトへの参照でもあります。この window オブジェクトを使用すると、window.document オブジェクトを使用してページにデータを書き込んだり、window.location プロパティを使用してフレーム内のページを変更したりするなど、その中のページを簡単に操作できます。
以下では、異なるレベルのフレームワーク間の相互参照を紹介します。
1.親フレームから子フレームへの参照
上記の原則を知っていると、親フレームから子フレームを参照するのは非常に簡単です。つまり、
window.frames["frameName"];
これは、ページ内のframeNameという名前のサブフレームを参照します。サブフレーム内のサブフレームを参照したい場合は、参照されるフレーム (実際にはウィンドウ オブジェクト) の性質に従って、次のように実装できます。
window.frames["frameName"].frames["frameName2"];
このように、2 番目の-level サブフレームを参照するなど、引用により多層フレームワークを実装できます。
2.子フレームから親フレームへの参照
各ウィンドウ オブジェクトには、その親フレームを表すparent属性があります。フレームがすでにトップレベルのフレームである場合、window.parent はフレーム自体も表します。
3.兄弟フレームワーク間の参照
2 つのフレームが同じフレームのサブフレームである場合、それらは兄弟フレームと呼ばれ、親フレームを通じて相互に参照できます。たとえば、ページには 2 つのサブフレームが含まれます:
あなたFrame1 で次のステートメントを使用できます Frame2 を参照するには:
self .parent.frames["frame2"];
4.異なるレベルのフレームワーク間の相互参照
フレームの階層はトップレベルのフレームのものです。レベルが異なる場合、現在のレベルと他のフレームのレベルと名前がわかっていれば、フレームによって参照されるウィンドウ オブジェクトのプロパティを使用して相互に簡単にアクセスできます。たとえば、
self.parent.frames["childName"].frames["ターゲットフレーム名"];
5.最上位フレームへの参照
parent 属性と同様に、window オブジェクトにも top 属性があります。これは、トップレベルのフレームへの参照を表し、フレーム自体がトップレベルのフレームであるかどうかを判断するために使用できます。例:
//このフレームがトップレベルのフレームかどうかを判断します
if(self==top){
//dosomething
}
フレームの読み込みページを変更します
フレームへの参照は、ウィンドウ オブジェクトへの参照です。たとえば、
window.frames[0].location="1.html";
これにより、ページの最初のフレームを 1 .html に変更すると、このプロパティを利用して、単一のリンクを使用して複数のフレームを更新することもできます。