该文也可以说是一个iframe自适应大小的折中解决办法。iframe出现滚动条的原因是,body里面的内容的高度大于了iframe的高度,所以会出现滚动条。 解决办法: 采用Jquery从iframe嵌套的页面中获取一个高度值,在iframe的父窗口中的onload事件中更新iframe的高度。 具体实现代码: 父页面: <mce:script type="text/javascript"><!-- function SetCwinHeight(){ var H=$("#myiframe").contents().find("meta").attr("content"); alert(H); $("#myiframe2").height(H); } // --></mce:script> <body style="overflow:auto;" mce_style="overflow:auto;"> <iframe id="myiframe" src="xx.html" mce_src="xx.html" onLoad="SetCwinHeight()"></iframe> </body> <mce:script type="text/javascript"><!-- function SetCwinHeight(){ var H=$("#myiframe").contents().find("meta").attr("content"); alert(H); $("#myiframe2").height(H); } // --></mce:script> <body style="overflow:auto;" mce_style="overflow:auto;"><iframe id="myiframe" src="xx.html" mce_src="xx.html" ></iframe></body></html> 子页面: Html代码 <meta content="800px"> 运行原理: 父页面读取子页面中meta的字段值来设置iframe的高度 额外说明: 当iframe 的高度小于内容高度时,如果父窗口的BODY 的overflow:auto,则会出现2个垂直滚动条,iframe的垂直滚动条和父窗口的滚动条; 如果这时,BODY 的overflow:hidden,则只会出现iframe的垂直滚动条,但是,iframe的内容显示不完。 原文链接:http://edu.codepub.com/2009/0416/3006.php