iframe autoheight - PullRequest
       5

iframe autoheight

2 голосов
/ 24 ноября 2011

Я искал везде, в том числе и здесь, и не смог найти хорошего решения. Я столкнулся с этим, и он работает во всех браузерах, кроме Firefox и IE :( Помощь?

jQuery(function() {
    sizeIFrame();
    jQuery("#ifrm").load(sizeIFrame);
});

function sizeIFrame() { 
    var videoBrowser = jQuery("#ifrm");
    var innerDoc = videoBrowser.get(0).contentDocument ?
        videoBrowser.get(0).contentDocument.documentElement :
        videoBrowser.get(0).contentWindow.document.body;
    videoBrowser.height(35);
    videoBrowser.height(innerDoc.scrollHeight + 35);
}

и он в том же домене и вот мой <iframe>

<iframe id="ifrm" src="http://localhost:8080/linkconsulting/temp.html" width="100%" frameborder="0" scrolling="no"></iframe>

Я сейчас тестирую на localhost, но позже он все еще будет на том же домене.

Обновление: Итак, я заметил, что это не работает, потому что, кажется, мешает плагину tiny.scrollbar или наоборот. Не уверен что тут делать: (

Ответы [ 3 ]

2 голосов
/ 24 ноября 2011

У меня такое ощущение, что это не работает, потому что высота вычисляется до загрузки документа.Если бы вы вызывали sizeIFrame в событии document.ready, это могло бы изменить ситуацию.

В вашем IFrame попробуйте этот код:

jQuery(function(){
   parent.sizeIFrame();
}

Обновление: согласно нашему чату вы можетевысота документа в IFrame с:

parent.jQuery(document).height()

Я бы сказал, чтобы передать высоту в качестве параметра для вашей функции.

1 голос
/ 24 ноября 2011

Вы используете jQuery, попробуйте использовать Плагин iFrameAutoHeight

0 голосов
/ 07 декабря 2011

Ну, в итоге я выбрал другой подход Я получил содержимое из iframe и вставил их в div. Вот код на тот случай, если кому-то еще это понадобится .. Спасибо всем за терпение и большую помощь.

<script>
function getFile(){

var content = jQuery('#servercontent')[0];

var ifrm = jQuery('#ifrm')[0];

content.innerHTML = ifrm.contentDocument.body.innerHTML;

}
</script>
<body>
 <div id="servercontent"></div>
 <iframe id="ifrm" src="webinsamedomain.com" width="100%" frameborder="0" scrolling="no" style="display:none;"  onload="getFile();" ></iframe>
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...