<div>
<iframe id="myframe" name="myframe" width="100%"
src="这里放你要放在iframe里的页面" scrolling="no" frameborder="0"
onload="this.height=100" style="overflow:hidden;">
</iframe> <script type="text/javascript">
function reinitIframe()
{
var iframe = document.getElementById("myframe");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>
</div>我iframe的外层div是没有高度的 也就是根据iframe高度进行调整 问题是这样的 在这个页面里我通过JS改变iframe 的src 加载时候第一个页面是没问题的,但如果加载的第一个页面比改变src的第二个页面的高度要高的话,会出现 第二个页面底部很大距离空出来
<iframe id="myframe" name="myframe" width="100%"
src="这里放你要放在iframe里的页面" scrolling="no" frameborder="0"
onload="this.height=100" style="overflow:hidden;">
</iframe> <script type="text/javascript">
function reinitIframe()
{
var iframe = document.getElementById("myframe");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>
</div>我iframe的外层div是没有高度的 也就是根据iframe高度进行调整 问题是这样的 在这个页面里我通过JS改变iframe 的src 加载时候第一个页面是没问题的,但如果加载的第一个页面比改变src的第二个页面的高度要高的话,会出现 第二个页面底部很大距离空出来
<iframe id="myframe" name="myframe" width="100%"
src="这里放你要放在iframe里的页面" scrolling="no" frameborder="0"
onload="reinitIframe(this)" style="overflow:hidden;">
</iframe>
<script type="text/javascript">
function reinitIframe(iframe) {
//var iframe = document.getElementById("myframe");
try {
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.style.height = height+'px'/////////////
} catch (ex) { }
}
/////////// window.setInterval("reinitIframe()", 200);
</script>
</div>放在onload事件中,只要iframe加载的src没有跨域,可以依据加载页面高度来调整iframe的高度的跨域就没搞了
overflow-y: auto;
overflow-x:hidden;
}iframe的高度设成100%
<a href="1.html" target="myframe">1.html</a>
<div>
<iframe id="myframe" name="myframe" width="100%"
src="1.html" scrolling="no" frameborder="1"
onload="reinitIframe(this)" style="overflow:hidden;">
</iframe>
<script type="text/javascript">
function reinitIframe(iframe) {
iframe.style.height = 'auto';
//var iframe = document.getElementById("myframe");
try {
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
alert(bHeight+'\n'+dHeight)
iframe.style.height = height + 'px'/////////////
} catch (ex) { }
}
/////////// window.setInterval("reinitIframe()", 200);
</script>
</div>1.html<script>
var h = 1000 * Math.random()
document.write('<div style="height:'+h+'px">'+h+'</div>')
</script>
没有楼主说的情况啊。
那个空白
是不是 iframe src 那页本身的空白啊?