iframe 多层嵌套 无限嵌套 高度自适应的解决方案
2013-09-23 09:30
253 查看
有A,B,C三个页面,A页面包含B页面,B页面包含C页面.A页面随着B页面自适应,C页面随着B页面自适应
A页面
B页面
C页面
将下面这个JS函数写到 最最底层的页面中(即最孙子的那个页面) 并在body的onload事件中调用该方法 【下面这个公式是万能公式】
A页面
<body> <iframe id="main" name="main" width="980" scrolling="no" frameborder="0" src="B页面" onload="this.height=main.document.body.scrollHeight;this.width=main.document.body.scrollWidth;if(this.height < 410){this.height=410;}"> </iframe> </body>
B页面
<body> <!--左边--> <div style="flost:left;"> 左边菜单 </div> <!--右边--> <div style="flost:right;"> <iframe id="testIframe" name="testIframe" frameborder=0 style="width: 680px;" scrolling="no" src="C页面"></iframe> </div> </body>
C页面
将下面这个JS函数写到 最最底层的页面中(即最孙子的那个页面) 并在body的onload事件中调用该方法 【下面这个公式是万能公式】
<script type="text/javascript"> //进行Iframe的自动撑开,让所有父页面的Iframe都自动适应包含页高度 function autoHeight(){ var doc = document, p = window; while(p = p.parent){ var frames = p.frames, frame, i = 0; while(frame = frames[i++]){ if(frame.document == doc){ frame.frameElement.style.height = doc.body.scrollHeight + 'px'; // 这里一定要注意 火狐必须要加'px‘ 否则火狐无效 doc = p.document; break; } } if(p == top){ break; } } } </script> <body onload="autoHeight();"> <!--经测试 这个最最最子的页面的body中必须要有一个有高度的div才行 否则上面的自适应生效--> <div style="height: 1px;"> </div> <div style="padding-bottom: 10px;"> <!--这句话也是必不可少的--> 这里可以写真正的内容 并且给该div的padding-bottom设一个值 </div> </body>
相关文章推荐
- iframe 多层嵌套 无限嵌套 高度自适应
- 多层框架嵌套自动适应高度《二》
- 多层嵌套iframe 自适应高度的解决方法
- JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
- DIV嵌套时外层无法自适应高度三种解决方案
- DIV嵌套时外层无法自适应高度三种解决方案(转)
- JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- JQuery自适应IFrame高度(支持嵌套--兼容IE,ff,safafi,chrome)
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- iframe高度自适应的IE解决方案
- iframe自适应高度,多层嵌套iframe自适应高度的解决方法
- DIV嵌套时外层无法自适应高度三种解决方案
- iframe的用法,以及如何让iframe自动适应父及的宽度和高度
- 谷歌、火狐浏览器下实现JS跨域iframe高度自适应的完美解决方法,跨域调用JS不再是难题!
- 让iframe自适应高度(支持xhtml)IE firefox兼容
- jQuery简单实现iframe的高度根据页面内容自适应的方法
- jsp页面iframe高度自适应的js代码