简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

iframe 多层嵌套 无限嵌套 高度自适应的解决方案

来源:易贤网   阅读:912 次  日期:2016-06-21 10:28:23

温馨提示:易贤网小编为您整理了“iframe 多层嵌套 无限嵌套 高度自适应的解决方案”,方便广大网友查阅!

有A,B,C三个页面,A页面包含B页面,B页面包含C页面.A页面随着B页面自适应,C页面随着B页面自适应,具体实现如下,感兴趣的朋友可以参考下

有A,B,C三个页面,A页面包含B页面,B页面包含C页面.A页面随着B页面自适应,C页面随着B页面自适应

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>

更多信息请查看网页制作
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:Form表单的action和onSubmit示例介绍
下一篇:html发送邮件通过Mailto简单实现
易贤网手机网站地址:iframe 多层嵌套 无限嵌套 高度自适应的解决方案
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!