Javascript - как изменить содержимое элементов внутри страницы при использовании iframes, используя dom, а не jquery - PullRequest
3 голосов
/ 19 мая 2010

У меня есть этот iframe, и, как вы можете видеть, он вызывает функцию js с триггером onload.

<iframe name="top" id="top" width="99%" height="20%" src="top.htm" frameborder="0" scrolling="no" onload="log_in()"></iframe>

Что мне нужно сделать, так это создать элемент внутри "top.htm" (изменить innerHTML и тому подобное) из этой функции.

Но проблема в том, что функция не распознает элементы страницы "top.htm", а только элементы в index.htm (страница с iframes).

p.s. я должен использовать DOM, и я должен использовать iframes.

Кто-нибудь знает, как это сделать?

10x: -)

Ответы [ 2 ]

3 голосов
/ 19 мая 2010

Например, доступ ко всем элементам домена:

document.getElementById("top").contentWindow.document.getElementsByTagName("*")

Это твоя проблема?

2 голосов
/ 19 мая 2010

Окно Iframe и его документ

Ссылки на окно, сгенерированное iframe, и документ, загруженный в iframe, можно получить через массив frames с помощью атрибута name.

window.frames[iframeName]
window.frames[iframeName].document

Метод ссылки на массив frames имеет широкую поддержку, даже среди довольно старых браузеров, если вы присоединяете атрибут name к iframe. Для достижения наилучших результатов используйте как имя, так и идентификатор.

Для более современных браузеров на документ внутри iframe также можно ссылаться через свойства contentWindow (IE win) и contentDocument (DOM) элемента iframe:

// IE5.5+ windows
document.getElementById(iframeId).contentWindow
document.getElementById(iframeId).contentWindow.document

или

// DOM 
document.getElementById(iframeId).contentDocument

из http://www.dyn -web.com / учебные пособия / iframes /

образец здесь: http://www.dyn -web.com / tutorials / iframes / refs.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...