web-dev-qa-db-ja.com

JavaScriptを使用してフレームセットフレーム内から要素を取得するにはどうすればよいですか?

フレームセットフレーム内から要素にアクセスする必要があります。たとえば、次のマークアップがあるとします。

<frameset rows="33%,33%,*">
  <frame src="frame1.html"/>
  <frame src="frame2.html"/>
  <frame src="frame3.html"/>
</frameset>

子フレームの1つから要素を取得するにはどうすればよいですか?私はこれを試しました:

window.frames[1].getElementById('someElementId')

これにより、タイプエラーが発生します。

getElementById()は関数ではありません。

誰かがお手伝いできますか?

ありがとう!

22
Nick

フレームのDocumentオブジェクトを取得する必要があります。

window.frames[1].document.getElementById('someElementId')
24
morgancodes
<frameset rows="33%,33%,*">
<frame id="demo" src="frame1.html"/>
<frame src="frame2.html"/>
<frame src="frame3.html"/>
</frameset>

回答:

document.getElementById("demo").contentDocument.documentElement.innerHTML;
7
Vinod

あなたもframenameを使ってみることができます

window.frames['frame_name'].document.getElementsByName('element_name');   
4
Praveen_07