iframe高度自适应

  迫不得已用iframe,于是和iframe奋斗了一天。
程序代码 Example Source Code

                <div class="side_left">
                  <iframe src="left.html" name="leftFrame" id="leftFrame" scrolling="No"   width="170px" height="330px" frameborder="0"></iframe>
                </div>
                  
                <div class="content">
                  <iframe src="right1.html" name="mainFrame" id="mainFrame"  width="740px" frameborder="0" scrolling="no"></iframe>
                
                </div>          

典型的,左边菜单点击右边框架显示,先是链接明明指定了target,火狐下却在新窗口中打开。排查了很久,发现犯了个很低级错误没用</iframe>闭合。直接<iframe..../>。IE下没问题,FF不干了....
  再就是右边框架随内容自动适应高度的问题。网上很多解决方案,大都转的这篇文章:http://blog.csdn.net/djt/archive/2008/06/05/2514028.aspx。代码:
程序代码 Example Source Code

<iframe src="right1.html" name="mainFrame" id="mainFrame"  width="740px" frameborder="0" scrolling="no"></iframe>
                <script type="text/javascript">

                    function reinitIframe(){

                    var iframe = document.getElementById("mainFrame");

                    try{

                    var bHeight = iframe.contentWindow.document.body.scrollHeight;

                    var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;

                    var height = Math.max(bHeight, dHeight);

                    iframe.height = height;

                    }catch (ex){}

                }

                window.setInterval("reinitIframe()", 200);

                </script>

但是测试发现,在火狐下,并不能收缩。需要刷新页面。
下面方法解决问题:

程序代码 Example Source Code

<iframe id="mainFrame" name="mainFrame" width="100%" onload="this.height=mainFrame.document.body.scrollHeight" frameborder="0" src="index.htm"></iframe>

测试浏览器:IE6、IE7、IE8、FF3.0


[本日志由 woniu 于 2009-10-16 06:20 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: iframe高度自适应js代码ff下iframe高度
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.