ifram高度自适应,两种方法
方法一:父页面获取子页面高度,改变父页面高度 演示地址:
http://i.thec.cn/jie51886/js/iframe/parent2.html
以下代码加到父页面
<script language="javascript"> //获取iframe子页面的方法,需调用才能实现 (<body onload="doShow()">) function doShow(){ //获得子页面的高度 document.getElementById("content").contentWindow.document.body.scrollHeight document.getElementById("content").style.height = document.getElementById("content").contentWindow.document.body.scrollHeight + "px"; //改变iframe的高度 } </script>
方法二:子页面直接改变父页面高度 演示地址:
http://i.thec.cn/jie51886/js/iframe/parent1.html
以下代码加到子页面
<script language="javascript"> //控制父页面iframe高度的方法 parent.document.getElementById("content").style.height = document.body.scrollHeight +"px"; </script>
为了公司网站的改版,也为了学ASP.NET,这几天花了N多时间在 vs2005/vs2008/asp.net 上面。
目标:母版页+菜单+iFrame的完美解决 http://www.yxsoft.net (还是旧内容,未上传) -------------------- | 母版 title | -------------------- | | |index | iframe |menu | 内容页 | | ------------------- | 母版 footer | -------------------
点击左面菜单/tree,通过设置tree的navi-url,在右面的iframe动态加载内容页面。 iframe 要按内容页面 自动适应 自动调节高度 。
母版,菜单 比较好解决。
iFrame高度自动调节,好象是个难题耶。 GOOGLE一下,方法一大堆,有点太复杂,都不大行。 vs2008的帮助又动不了,连看个iframe类模型都无办法,菜啊。
试了N回,下面简单代码可以了,asp.net 2.0条件下。
<iframe id="content" name="content" scrolling="no" frameborder="0" width="754px" height="50px" onload = "height = this.Document.body.scrollHeight + 30;" > </iframe>
注意事项 1、height设为auto不行的,一定要有一个值 2、this.document引用到是的 iframe所在页面对象, this.Document (大写D),才能引用到iframe内含对象
这个方法可能更稳妥 onload = "height = document.frames(this.name).document.body.scrollHeight + 30"
3、Opera, firefox,这两LAJI就不考虑啦,日后再说
|
转载于:https://www.cnblogs.com/dudu837/archive/2009/05/27/1490704.html