<script type="text/javascript">function reinitIframe(){var iframe = document.getElementById("reinitIframe");try{var bHeight = iframe.contentWindow.document.body.scrollHeight;var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;var height = Math.max(bHeight, dHeight);
iframe.height =  height;
iframe.width=1001;
//alert(iframe.height);
//document.getElementById('TabContent').style.height=height;}catch (ex){}}window.setInterval("reinitIframe()", 218);</script> <iframe id="reinitIframe" name="ProductViewIframe" src="<%=DefaultSelected %>"  style="width:1003px;" scrolling="no" frameborder="0" onload="this.height=218"></iframe>
我使用了上面的代码实现iframe的自适应高度,实现是实现了,但是,滚动条一直在走,页面的高度一直在增加,很不友好,我该怎么让滚动条不走呢?

解决方案 »

  1.   

    // somewhere in your js file:
    function resize(id)
    {
    var height = document.getElementById(id).contentWindow.document.body.scrollHeight;
    var width = document.getElementById(id).contentWindow.document.body.scrollWidth; document.getElementById(id).height= (height) + "px";
    document.getElementById(id).width= (width) + "px";
    }<iframe id="content" name="content" src="section.htm" scrolling="no" frameborder="0" border="0" onLoad="resize('content')"></iframe>=====这个是我以前用过的一段重设iframe大小的代码,去掉重设宽度的部分就行了,希望对你有帮助。
    对比一下,你用的那段代码中的这一句:
    var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
    可能取得了某父元素的高度,结合max那句造成了无限循环。
      

  2.   

    我想问一下,为什么我在写代码的时候,没有“contentWindow.document.body.scorllheight”这段代码呢!我写var height=document.getelementid(id).之后的代码全要手工敲入的,为什么?