今天学习b2b商城的制作遇到了一个iframe框架问题,通过查询网上的资料,得到如下解决方法,网上搜索”iframe自动高”会有很多的解决方案,我试了很多,但都存在问题,大多只解决了iframe加载完后的静态内容实现的自动高,iframe加载完后,对DOM操作,或者表格挤压引起的高度变化却不起作用.为此郁闷了N久!
如果iframe里面内容不进行DOM操作,可以使用这种最简单的方式:
<iframe id="iframe" src="iframe.html" scrolling="no" frameborder="0" οnlοad="this.height=this.contentWindow.document.documentElement.scrollHeight"></iframe>
反之,在iframe页里进行DOM操作,或者表格展现(表格展现如果挤压会改变高度)可以使用下面的方法
<iframe id="iframe" src="iframe_b.html" scrolling="no" frameborder="0"></iframe>
<script type="text/javascript">
function reinitIframe() {
var iframe = document.getElementById("iframe");
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);//定时去检查iframe的高度,这样保证时时都是自动高了
<script>