Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   IFrame и полоса прокрутки (https://javascript.ru/forum/events/5086-iframe-i-polosa-prokrutki.html)

freshcoder 14.09.2009 09:49

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:

freshcoder 14.09.2009 13:55

Можно закрывать тему.

Проблема в том что из "подгружаемого" контента нельзя никак воздействовать на свойства страницы (в том числе и на атрибуты того самого фрейма) , если контент подгружается с другого домена. Такая вот политика безопасности. Вот результат:


На одном домене и на локальном серваке работает идеально. Если кому что-то подобное надо, используйте вот такую простую функцию, чтобы достать iframe-элемент и повлиять на его свойства:

function setSize(){
	var ParentFrame = window.parent.document.getElementById('iframe');
	ParentFrame.style.height = 1000+'px';
	 
}


Если бы знал, даже не стал бы париться. :-E


Часовой пояс GMT +3, время: 13:32.