IFrame и полоса прокрутки
Добрый день уважаемые гуру javascript.
Передо мной недавно встала очень интересная задача, справиться с которой без вашей помощи я не могу. Воспользовавшись поиском нашел схожие проблемы, но решения их не было.:-? Проблема в следующем: На странице есть iframe, в который загружается страница с javascriptom. Поскольку контент не вмещается в размер iframe'а - появляется вертикальная полоса прокрутки. Моя цель создать функцию, которая подгружается в этот IFrame вместе с контентом c возможностью изменения атрибутов(стилей) у тега <iframe>. Проблема заключается в том, что я не могу выбраться из этого Iframe'а. Чтобы выбраться из Iframe использовал следующие варианты: function setSize(){ var myiframe = parent.frames[0]; } Данный вариант не решил проблемы, он лишь имеет доступ к содержимому фрейма, а мне надо подняться выше и управлять атрибутами. var parentWindow = window.parent; var secondFrame = parentWindow.document.getElementById("super"); Этот вариант тоже не дал никаких результатов. :-? Порывшись нашел еще вариант такой: function setSize(){ var myiframe = parent.parent.frames[0]; } Т.е. обратиться к "дедушке", но почему то тоже не получилось. Страница имеет след. структуру: <html> <body> <iframe src="informer.php" style="width:100%;" frameborder="0" id="super"> </iframe> Далее в этот iframe подгружается страница с javacript'ом, в котором есть AJAX и другие функции. А смысл в том, что я могу получить высоту контента подгружаемого во фрейм, но не могу растянуть фрейм под эту высоту, т.к. не могу добраться до его свойств чтобы применить style.height. Все это можно посмотреть тут и я думаю сразу станет все понятно. Прошу помочь любыми советами.:write: |
Можно закрывать тему.
Проблема в том что из "подгружаемого" контента нельзя никак воздействовать на свойства страницы (в том числе и на атрибуты того самого фрейма) , если контент подгружается с другого домена. Такая вот политика безопасности. Вот результат: ![]() На одном домене и на локальном серваке работает идеально. Если кому что-то подобное надо, используйте вот такую простую функцию, чтобы достать iframe-элемент и повлиять на его свойства: function setSize(){ var ParentFrame = window.parent.document.getElementById('iframe'); ParentFrame.style.height = 1000+'px'; } Если бы знал, даже не стал бы париться. :-E |
Часовой пояс GMT +3, время: 00:54. |