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