DOM

Window.frames プロパティ

 編集:2022.09.08 by T.A.

Window のサブ フレームを列挙した配列風オブジェクトとして返します。

構文
frameList= window.frames
window Window

frameList は、フレーム オブジェクトのリスト。これは配列と似ており、length プロパティを持ち、要素に [i] 表記を使ってアクセスできます。

frameList === window は真と評価されます。

window.frames 擬似配列の各要素は Window オブジェクトであり、<frame> または <iframe> の内容に対応します。frame または iframe の DOM 要素ではありません(つまり window.frames[0]document.getElementsByTagName("iframe")[0].contentWindow と同じことです)。

返値についての詳細は、を参照してください。

var frames = window.frames; // or // var frames = window.parent.frames;
for (var i = 0; i < frames.length; i++) {
  // frames[i] で各サブフレームに何らかの処理をします
  frames[i].document.body.style.background = "red";
}
D=window.frames; //=[object]:[object Window]
	//window=[object]:[object Window]
	//self=[object]:[object Window]
	//document=[object]:[object HTMLDocument]
	//name=[string]:Content
	//…

以下のHTMLを組み込んでみる。

HTML:

<IFRAME id=IdIframe src="../Com/Test.htm"></IFRAME>

JavaScript:

D=window.frames; //=[object]:[object Window]
	//0=[object]:エラー:undefined
	//window=[object]:[object Window]
	//self=[object]:[object Window]
	//document=[object]:[object HTMLDocument]
	//name=[string]:Content
	//…
DA=D[0].contentWindow; //エラー発生:Blocked a frame with origin "null" from accessing a cross-origin frame.
	//オリジンが「null」のフレームがクロスオリジン フレームにアクセスするのをブロックしました。

アクセスはできないようだ。


テスト