Я использую следующий код для достижения динамического IFrame высоты:Как автоматически сжимать высоту iframe динамически?
В <head>
:
<script language="javascript" type="text/javascript">
function resizeIframe(obj) {
obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
}
</script>
В <body>
:
<iframe name="myiframe" src="somepage.html" width="100%" frameborder="0"
scrolling="no" onload='javascript:resizeIframe(this);' />
</iframe>
Этот код прекрасно работает с высотой только увеличивается. Таким образом, когда содержимое внутри iframe увеличивается по высоте, iframe обновляет его высоту и увеличивается с ним.
Проблема с высотой уменьшение или усадка. Когда содержимое внутри iframe уменьшается, оно не уменьшается и вызывается большое нежелательное пустое пространство. Это происходит только в Chrome, IE & FF отлично работает.
Я хочу знать, как сделать этот код работает на автосокращение высоту Iframe, когда она уменьшается?
Скриншот один:
Скриншот два:
Обновление 1
я поместил следующий код в <head>
<script src="jquery-1.10.2.min.js"></script>
<script language="javascript" type="text/javascript">
$(function(){
var iframeDoc = $('iframe[name="dservers"]').contents().get(0);
$('iframe[name="dservers"]').load(function(){
docHeight = $(iframeDoc).height();
$('iframe[name="dservers"]').height(docHeight);
});
});
IFrame код в <body>
<iframe name="dservers" src="dual_core.html" width="100%" frameborder="0"
scrolling="no" /></iframe>
IFrame не отображается на странице. Он появляется в течение одной секунды, а затем исчезает.
Update 2
Я думаю, что проблема была $
символ перед (function(){
, я удалил его. Извините, у меня нет большого опыта работы с jquery. Я обновил страницу и удалил onload="resizeFrame()"
, но iframe не работает динамически.
Дублированный [Ваш предыдущий одного и того же вопроса здесь] (http://stackoverflow.com/questions/20495933/how-to-make-unwanted-white-space-shrink-in-webpage/20496181 # 20496181) Это решение будет работать для вас, если вы его правильно реализуете. – wrxsti