Как получить элемент из фрейма набора фреймов с помощью JavaScript? - PullRequest
21 голосов
/ 24 марта 2010

Мне нужно получить доступ и элемент из кадра frameset. Например, если у меня есть следующая разметка:

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

Как я могу получить какой-то элемент из одного из дочерних фреймов? Я пробовал это:

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

Это приводит к ошибке типа:

getElementById () не является функцией.

Может ли кто-нибудь помочь?

Спасибо!

Ответы [ 3 ]

23 голосов
/ 24 марта 2010

Вам необходимо получить объект Document для фрейма.

window.frames[1].document.getElementById('someElementId')
6 голосов
/ 30 июня 2015
<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;
3 голосов
/ 19 июня 2015

Вы также можете попробовать использовать имя_фрейма

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