多层嵌套iframe如何实现自适应高度

发布时间:2020-10-25编辑:脚本学堂
本文介绍下,在多层嵌套的iframe中实现高度自适应的方法,有需要的朋友,参考下吧。

在页面main.htm中包含iframe框架<iframe id="main" name="main" src='t1.htm'></iframe>
其中,通过main.htm导航条,动态调整main iframe的内容。实现功能导航。

t1.htm中也包含框架<iframe id="t1" name="t1" src="t2.htm"></iframe>
其中,t1.htm主要为某个功能的操作按钮,通过某些操作生成结果在t1 iframe中显示。
t2.htm中是高度很大的页面,不含其他的框架。

我想要在t1 iframe文挡内容发生变化的时候。能够动态改变t1.htm页面的高度。
同时也要刷新main.htm的main iframe的高度,使得所有的高度进行匹配。

我的解决方法:
在t2.htm中(最好在<head></head>标签内)加入:
 

复制代码 代码示例:
<script type="text/javascript">
 function window.onload(){
  //parent.document.getElementByIdx("t1").height=document.body.scrollHeight;
  //没有style也可以
 parent.document.getElementByIdx("t1").style.height=document.body.scrollHeight;
 parent.document.getElementByIdx("t1").style.width=document.body.scrollWidth;
 
 parent.parent.document.getElementByIdx("main").style.height=parent.document.body.scrollHeight;
 parent.parent.document.getElementByIdx("main").style.width=parent.document.body.scrollWidth;
}
</script>

在t1.htm中(最好在<head></head>标签内)加入:
 

复制代码 代码示例:
<script type="text/javascript">
 function window.onload(){
   //parent.document.getElementByIdx("main").height=document.body.scrollHeight;
  //没有style也可以
 parent.document.getElementByIdx("main").style.height=document.body.scrollHeight;
 parent.document.getElementByIdx("main").style.width=document.body.scrollWidth;
}
</script>
 

这样在t2.htm被载入的时候,动态调整t1 iframe及 main iframe的高度。
在t1.htm被载入的时候,动态调整main iframe的高度。IE6.0中测试成功。