LINUX.ORG.RU

Подогнать высоту iframe под содержимое

 ,


0

1

Гугл вроде бы завален решениями, но все они сводятся к одному:

$(document).ready(function(){
        $(".frameclass").load(setHeight);
    });
    function setHeight(){ 
        var oIframeBody=this.contentWindow.document.body;
        var preHeight = oIframeBody.scrollHeight + 20;
        this.style.height = preHeight+'px';
        var finalHeight = oIframeBody.scrollHeight-oIframeBody.clientHeight+oIframeBody.offsetHeight;
        this.style.height= preHeight+'px';
        return false;
    }
Которое работает в лучшем случае в Хроме, да и то oIframeBody.scrollHeight-oIframeBody.clientHeight+oIframeBody.offsetHeight; - нифига не пашет и там. А мне бы рабочее хотя бы для FF и Opera еще...

Хелп, вобщем.

★★★★★

<head>
<script type="text/javascript">
function sizeFrame(frame) {
  if(frame.contentDocument) {
    frame.height = frame.contentDocument.documentElement.scrollHeight;
  } else {
    frame.height = frame.contentWindow.document.body.scrollHeight;
  }
}
</script>
</head>
<body>
<iframe width="100%" id="myframe" src="/frame.html" scrolling="no" frameborder="1" onload="sizeFrame(this)"></iframe>
</body>

Может не работать в хроме, если запускать локально.

Wolfram
()
Ответ на: комментарий от Wolfram

Не совсем понял что значит «запускать локально», но не работает в FF. В хроме работает как и раньше. Теперь нормально и в опере. Спасибо. Но с FF надо разбираться - там высота в 0 выставляется.

Suntechnic ★★★★★
() автор топика
Ответ на: комментарий от Wolfram

file:///path/index.html

А, вон чо... Я никогда так ничего не запускаю.

Какая версия FF?

Блин, да та же. Странно поковыряю сегодня. Может конфликт с чем?

Suntechnic ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.