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

上は私のプレビューボタンです

以下は、iframeにいくつかのhtmlをロードし、iframeにロードされる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ファイルを1つロードするだけです。

私の問題は、chromeを使用しているとき、およびhtmlファイルをロードしたいときです。iframeの高さを自動的に10pt上げます。プレビューボタンを押し続けますが、iframeの高さのサイズを変更しようとすると、以前の高さの値がクリアされないのはなぜですか...

以下は、iframe onLoadで呼び出すjavascriptのsizeFrame()関数です。

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

    }

    }
4

2 に答える 2

2

CSS リセットを使用して、iframe の値をリセットします。
のようなものiframe{ margin:0 padding:0 height:0 width:0}。以前、Web-kit ブラウザーがスクロール バー用のスペースを作るために数ピクセルを追加したという悪夢のような経験がありました。それ以来、プロジェクトで適切な css-reset を使用し始めましたが、オーバーヘッドが追加されました。

于 2013-02-11T09:53:15.987 に答える
1

最初に、次のようにデフォルトで iframe をリセットする必要があります。

iframe { マージン: 0; パディング: 0; ボーダー: 0; フォントサイズ: 100%; フォント: 継承; 垂直整列: ベースライン; }

于 2013-02-11T09:46:05.957 に答える