window.frames
список фреймов текущего окна, включая iframe
Описание, примеры
Возвращает список фреймов текущего окна. Перечисляются только прямые фреймы, без их подфреймов.
frameList = window.frames
Список фреймов не является Array, но похож на массив в том смысле, что у него есть свойство length, и его элементы доступны по индексу [i].
var frames = window.frames
for (var i = 0; i < frames.length; i++) {
// сделать что-нибудь внутри i-го фрейма
frames[i].document.body.style.background = "red"
}
|
Покажите, пожалуйста, как обратиться в DOM к свойствам объекта который лежит во вложенных iframe
document.getElementById('iframeID').contentWindow.document.getElementById()// getElementsByTagName, getElementsByClassName, etcНе работает... или я что-то не так делаю
отдает только NULL.
<html><body> <div id='go'><iframe width='100%' height='100%' src='123.html' scrolling='auto' frameborder='0'></iframe></div> <script type='text/javascript'> function getIframeDocument(iframeNode) { if (iframeNode.contentDocument) return iframeNode.contentDocument if (iframeNode.contentWindow) return iframeNode.contentWindow.document return iframeNode.document } var f=document.getElementById('go').getElementsByTagName('iframe')[0]; var q=getIframeDocument(f); a=f.contentWindow.document.getElementById('dw0'); b=q.getElementById('dw0'); alert(a+' - '+b); </script> </body></html>123.html
Отдает null - null
a getElementsByTagName
a=f.getElementsByTagName('div')[0];
b=q.getElementsByTagName('div')[0];
отдают undefined
подскажите что не так?
А ждать загрузки фрейма кто будет?
Каким образом можно дождаться загрузки?
onload
А если все писать в $(document).ready(function(){})
я имею в виду, все, что внутри {}, будет выполняться, когда загрузится весь документ вместе со всеми фреймами?
Такая ситуация:
в iframe открыта страничка из другого сайта -otherDomain.com/index.html.
Нужно отследить когда там поящиться определенная кнопка.
Сделал через setTimeOut() - но появляется ошибка типа:
Сайту myDomain.com не было предоставлено разрешение на чтение свойства Window.document s otherDomain.com
Как разрулить такую ситуацию?
Политика браузера запрещает..
можно прогружать сайт через свой маленький прокси скрипт, который находиться на этом же сервере, тем самым обходя политику безопасности.
Мжно об этом поподробнее.
Попытался выполнить приведённый в примере скрипт.
В Firefox не выходит:
"Permission denied to access property 'document'"
В Chrome тоже:
"Unsafe JavaScript attempt to access frame with URL <…> from frame with URL <…>"
IE и Opera послушно меняют фон.
Как заставить работать?
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.