当iframe加载时,为什么每次使用10px增加iframe的高度?

时间:2013-02-11 09:43:50

标签: css google-chrome iframe resize autosize

<button class="btn btn-success" id="opener" onclick="ValidateReport('<%=generatecampaign%>','<%=loading_img_path%>','<%=IS_HTML%>','Campaign_Report');">Preview</button>

以上是我的预览按钮

以下是我的iframe,它在iframe中加载了一些html,并使用html文件中的数据调整iframe大小,该文件将在iframe中加载

<div class="bordercolor" id="mydiv" style="display: none; text-align: center">

    <IFRAME SRC="" id="reportpreview"  style="text-align: center; clear:both;"
        marginheight="0" frameborder="0" onLoad="sizeFrame();"></iframe>
        <iframe id="myIFrm" src="" style="display: none;"> </iframe>
</div>

上面是我的iframe加载html文件并根据html文件内容调整iframe内容的大小...当没有html文件时,只需加载一个静态html文件,其中一个标签名称为“否”数据可用“

我的问题是当我使用chrome并且当我想加载html文件时..自动增加iframe 10pt的高度。继续按下预览按钮。但是当我尝试调整iframe高度时,为什么它不清楚以前的高度值...

以下是javascript中我的sizeFrame()函数,该函数调用iframe onLoad

function sizeFrame() {

    var F=null;
     F = document.getElementById('reportpreview');
    if(F.contentDocument) {
        F.height=0;
    F.height = F.contentDocument.documentElement.scrollHeight+10; //FF 3.0.11, Opera 9.63, and Chrome
    } else {


        F.height=0;
    F.height = F.contentWindow.document.body.scrollHeight+10; //IE6, IE7 and Chrome

    }

    }

2 个答案:

答案 0 :(得分:2)

使用css重置并重置iframe的值 像 iframe{ margin:0 padding:0 height:0 width:0} 之类的东西。我曾经有过噩梦般的经历,其中web-kit浏览器添加了几个px来为滚动条创造空间。从那时起,我开始在我的项目中使用适当的css-reset,即使你增加了开销。

答案 1 :(得分:1)

首先需要在默认情况下重置iframe,如下所示:

  

iframe {margin:0;填充:0;边界:0; font-size:100%;字体:   继承; vertical-align:baseline; }