Доступ к контенту внутри iframe из родительского документа
Есть страница со встроенным тегом <iframe>. И страница и подгружаемый контент находятся на одном домене. Использую способ взятый отсюда: http://learn.javascript.ru/iframes
<iframe src="javascript:'тест'" style="height:60px"></iframe> <script> var iframe = document.getElementsByTagName('iframe')[0]; var iframeDoc = iframe.contentWindow.document; iframeDoc.body.style.backgroundColor = 'green'; </script> Но не получается изменить фон бэкграунда внутри ифрейма. Вот ссылка на наглядный пример: http://www.*****.ru/frame/html.html. Что не так у меня сделано? |
Цитата:
Цитата:
|
<!DOCTYPE> <html> <body> <div class="with-frame"> <iframe src="/frame/inside.html" id="myiframe"></iframe> </div> <script type="text/javascript"> var iframe = document.getElementsByTagName('iframe')[0]; var iframeDoc = iframe.contentWindow.document; iframe.onload = function(){iframeDoc.body.style.backgroundColor = 'green'}; </script> </body> </html> Без загрузки фрейма - нет доступа к окну |
Можно просто
body.bgColor = 'green' |
Цитата:
Мне Firebug в Chrome и FF не сообщает ничего подобного. Хотя FF сообщает нечто странное (в консоли сообщает): синтаксическая ошибка на строке 1 в файле html.html. Какими средствами отладки вы пользуетесь? |
Цитата:
Цитата:
|
Уже исправил, у меня там localhost был. Теперь ссылка нормальная, но все равно цвет фон меняется всеволишь на пол секунды, почему-то, а потом снова становится белым.
Есть ли способ без всяких jquery отсрочить выполнение сценария до того, как все фреймы будут загружены? |
Цитата:
Ruslan_xDD, не учи плохому. Если что-то как-то работает, то это не значит что так и нужно делать. |
<script type="text/javascript"> var iframe = document.getElementsByTagName('iframe')[0]; var iframeDoc = iframe.contentWindow.document; iframe.onload = function(){iframeDoc.body.style.backgroundColor = 'green'}; </script> Вот мой код, который вставлен после закрывающего тега <html>. Можете посмотреть на том же самом наглядном примере http://www.*****.ru/frame/html.html, что ничего не работает. |
hrundel,
попробуйте contentDocument вместо contentWindow |
Часовой пояс GMT +3, время: 19:24. |