2013-03-06 2 views
11

Мне нужно вставлять страницу HTML внутри фрейма, и я использую следующий код:устанавливается высота IFrame автоматически

<iframe src="http://www.google.com" style="width: 90%; height: 300px" 
    scrolling="no" marginwidth="0" marginheight="0" frameborder="0" 
    vspace="0" hspace="0"> 

Я пытаюсь сделать высоту установки для автоматической, так что кадр автоматически изменяет размер на длина страницы без необходимости жестко задавать высоту, как я здесь делаю. Я пробовал height:auto и height:inherit, но это не сработало.

+1

Вы пробовали настройки 'высота: 100%', если IFrame находится в теле, которое должно сделать его заполнить тело? – Xander

+0

** Дубликаты: ** [Это] (http://stackoverflow.com/questions/9975810/how-can-i-make-iframe-automatically-adjust-height-according-to-the-contents-with) или [this] (http://stackoverflow.com/questions/819416/adjust-width-height-of-iframe-to-fit-with-content-in-it) оба должны ответить на ваш вопрос. – anroesti

ответ

13

Попробуйте эту кодировку

<div> 
    <iframe id='iframe2' src="Mypage.aspx" frameborder="0" style="overflow: hidden; height: 100%; 
     width: 100%; position: absolute;" height="100%" width="100%"></iframe> 
</div> 
+0

Примечание: Я нашел, используя высоту стиля, а ширина - глючная. Здесь важны атрибуты высоты и ширины, которые, похоже, работают последовательно. Есть ли причина, по которой вы использовали оба? – Andrew

+0

% на высоте/ширине iframe недействительно HTML5 по спецификации (это было действительно до этого) – vaxquis

3

Если сайты находятся на разных доменах, вызывающая страница не может получить доступ к высоте iframe из-за ограничений между браузерами домена. Если у вас есть доступ к обоим сайтам, вы можете использовать [document domain hack]. 1 Тогда ссылки anroesti должны помочь.

+0

Эта библиотека на GitHub решает проблему между доменами, а также убедитесь, что iFrame остается в зависимости от содержимого, когда все меняется. https://github.com/davidjbradshaw/iframe-resizer –