none
根据iframe里内容变化,使iframe高度自适应 RRS feed

  • 问题

  • <iframe id="leftIframe" src="p_left.aspx" width="100%" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>
    以上iframe ,能否做到根据p_left.aspx这个页面内容的变化,来是iframe自适应高度?
    因为在p_left.aspx这个页面里面有个纵向多级菜单,当子菜单打开后(在iframe高度固定的情况下),由于iframe高度固定了,会出现内容显示得不完全
    约莫着用js控制,但是不会!!
    • 已移动 Sheng Jiang 蒋晟 2009年11月4日 21:16 非System.Web问题 (发件人:ASP.NET 与 AJAX)
    2009年11月4日 5:41

答案

  • 你好!

    下面代码只可用于同域情况,在展开菜单后调用下面的函数。

    <iframe width="100%" height="100px" noresize="noresize" frameborder="no" scrolling="auto"
            name="mainFrame" id="Iframe1"></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>


    知识改变命运,奋斗成就人生!
    2009年11月4日 6:17
    版主
  • 把页面内的

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    去掉试试

    努力!奋斗
    2009年11月4日 9:42
  • 1,不能跨域,2,写法有2种,你需要进行判断设置
    【孟子E章】
    2009年11月5日 5:13
    版主

全部回复

  • 你好!

    下面代码只可用于同域情况,在展开菜单后调用下面的函数。

    <iframe width="100%" height="100px" noresize="noresize" frameborder="no" scrolling="auto"
            name="mainFrame" id="Iframe1"></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>


    知识改变命运,奋斗成就人生!
    2009年11月4日 6:17
    版主
  • 把页面内的

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    去掉试试

    努力!奋斗
    2009年11月4日 9:42
  • 1,不能跨域,2,写法有2种,你需要进行判断设置
    【孟子E章】
    2009年11月5日 5:13
    版主