Измените размер iframe, пока не будет полосы прокрутки (соответствует содержанию) - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть базовая таблица макетов, с 4 рядами. Верхний колонтитул - Навигация - iframe - нижний колонтитул. Чего я хочу добиться, это:

Установите высоту тела (в этом случае строка таблицы, в которой находится iframe), чтобы она соответствовала высоте содержимого iframe. Iframe просто загружает некоторые другие html-страницы, которые я создал.

Итак, основной прокручиватель тела index.html (переполнение) будет использоваться для прокрутки iframe в этом случае Это возможно?

Если невозможно увеличить высоту строки таблицы до высоты содержимого iframe, я могу просто поместить ее в div.

1 Ответ

0 голосов
/ 02 февраля 2012

К сожалению, вы не можете сделать это в CSS / HTML. Вы должны использовать некоторый JavaScript.

Если это ваш main.html ...

<html>
<body>
<table width="100%" border=1>
    <tr><td>Header</td></tr>
    <tr><td>Navigation</td></tr>
    <tr><td>
        <iframe src="iframe.html">
        </iframe>
    </td></tr>
    <tr><td>footer</td></tr>
</table>    
</body>
</html>

поместите это в iframe.html ...

<script type='text/javascript'>
var num=Math.ceil(Math.random()*50);
while(num-- > 0)
    document.write("num="+num+"<br/>");
window.parent.onload=function(){
    var parent=this.document.getElementsByTagName("IFRAME")[0];
    var elem=document.documentElement;
    parent.style.height=elem.scrollHeight+"px";
    parent.style.width=elem.scrollWidth+"px";
}
</script>

записывает в документ случайное количество строк, а затем изменяет размер в зависимости от его высоты.

http://frank.bridgewater.edu/test/iframeResize/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...