http://community.csdn.net/Expert/topic/4701/4701209.xml?temp=.651333

解决方案 »

  1.   

    --------------mht.htm-----------
    <script>
    function Load()
    {
        window.frameElement.height = screen.height
    }
    </script>
    <body onload="Load()"
      

  2.   

    抱歉,笔误.<script>
    function Load()
    {
        window.frameElement.height = document.body.scrollHeight + 50
    }
    </script><body onload="Load()">
    ....
      

  3.   

    设置iframe的scrolling属性为false
      

  4.   

    说错了,是no不是false<iframe scrolling="no"></iframe>
      

  5.   

    多谢各位!
    ***********************************************************************************
    TO:xishanlang2001(西山狼2000) 兄弟
      如果不在mht文件中添加脚,全部改在父层控,如何实现,谢谢。
    ***********************************************************************************TO:wideroad()  兄弟:你所说的方法不可行,因为如此取消了滚动条显示,但内容显示不全了。谢谢
    -----------------------------------------------------------------------------------
    TO:Taciterry(面朝大海,春暖花开)兄弟
       这种方法不适用于htm 与mht方式,还是多谢!
      

  6.   

    跟你们学坏了,:)  我也写错了!
    TO:xishanlang2001(西山狼2000) 兄弟
      如果不在mht文件中添加脚本,全部改在父层控制,如何实现,谢谢。
      

  7.   

    那就这样好了.
    iframe onreadystatechange="if( this.onreadystatechange == 'loaded' )..."大概思路是这样的吧.
      

  8.   

    <html>
    <script>
    function test(the)
    {
    if( the.readyState == "complete" )
    {
    the.height = the.contentWindow.document.body.scrollHeight + 50 ;//ie6 only
    /*ie5 user:*/
    //window.frames[ the.id ].document.body.scrollHeight + 50 ;//ie6 only
    }
    }
    </script>
    <body>
    <iframe id="aa" name="aa" src="2.htm" onreadystatechange="test(this)" ></iframe>
    </body>
    </html>
      

  9.   

    TO ::xishanlang2001(西山狼2000)哥们    问题已解决,其方法在原来基础上修如下。页面在加载的时候存在延时,没有找到相应的事件,所以就加了一个settimeout。
        上面你新介绍的方法存在ie版本问题,所以采用时还需斟酌。不过还是万分的感谢于你。看来哥们你很强呀,学习!!!!----------------------------------------------------------
    <html>
    <head>
    <title>page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <link href="css.css" rel="stylesheet" type="text/css"><body bgcolor="#E2FEBC" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" load="changewin()">
        
     <iframe scrolling="no"  frameborder="0" height="" width="100%" src="Xml.mht" id="infobody" ></iframe>
            
    </body>
    </html>
    <SCRIPT FOR=window EVENT=onload LANGUAGE="JScript">
    //alert("onload");
    changewin()
    function changewin(){
    if (infobody.document.body.scrollHeight){
       document.all("infobody").height=infobody.document.body.scrollHeight;
       }
       else
       {
       settimeout("changewin()",500);
       }
    }</SCRIPT>
      

  10.   

    又看了一下你关于iframe高度自适应的那个问题,和你最后的解决方案.
    发现了一点点问题,因为递归而未被结束,所以页面会每半秒执行一次操作,即执行
     document.all("infobody").height=infobody.document.body.scrollHeight;这样的话,你不如调整一下,改成这样:
    var theID = setInterval( changewin , 500 )function changewin()
    {
       if (infobody.document.body.scrollHeight)
       {
         document.all("infobody").height=infobody.document.body.scrollHeight;
        clearInterval( theID )
       }
    }