Регулировка IFrame Высота только Chrome - PullRequest
4 голосов
/ 07 марта 2012

ТАК Я знаю, что это решение где-то, но я не могу его найти. Я около дня копался в гугле и stackOverflow.

По сути, у меня есть iframe, и я пытаюсь расширить его до размера его содержимого, довольно простая задача. Я прошел несколько методов, глядя на разную высоту и т. Д. Но по какой-то чёртовой причине Chrome не хочет мириться со мной. Итак, вот javascript для изменения размера IFrame. Чтобы убедиться, что JS работает, и чтобы прочитать высоту, я добавил этот фрагмент innerHTML (вроде отладки)

<script type="text/javascript">

function resizeFrame() {
     var t=document.getElementById("Footer");
     var f = document.getElementById("mainContent");
     var y = f.contentWindow;

     t.innerHTML = y.document.body.offsetHeight;
     f.height = y.body.offsetHeight;
}

</script>

Вот этот фрейм:

    <iframe onload="resizeFrame()" id="mainContent" src="homec.html" scrolling=auto frameborder=0 height="100%" width="100%">
    Not working!</iframe>

Так что по какой-то странной причине он не хочет работать, в значительной степени ненавидит меня в Chrome. Но это работает в Firefox и IE. Любые решения ??

1 Ответ

1 голос
/ 07 марта 2012

Если я что-то упустил, я думаю, у вас есть опечатка в последней строке вашей функции (отсутствует .document.)

В Chrome (18.0) у меня работает следующее:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function resizeFrame() {
     var t=document.getElementById("Footer");
     var f = document.getElementById("mainContent");
     var y = f.contentWindow;

     t.innerHTML = y.document.body.offsetHeight;
     f.height = y.document.body.offsetHeight;
    }
</script>
</head>
<body>
<iframe onload="resizeFrame()" id="mainContent" src="homec.html" scrolling=auto frameborder=0 
height="100%" width="100%">Working!</iframe>
<p id="Footer"> Footer</p>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...