2010-11-24 18 views
2

私はiframe要素をページに読み込み、ページが読み込まれるときにiframeのサイズが変更され、それぞれが非表示にする/表示するボタンがあります。最初のサイクルが隠れて再び表示されると、iframeのサイズが小さくなり、スクロールバーが表示されます。iframe size in firefox

Firefoxでのみ発生し、IEとChromeで正常に動作しますが、その理由を知っていますか?

は、ここでは、コードの一部を次のとおりです。

function Resize_IFrame(f) { 
    f.style.height = f.contentWindow.document.body.scrollHeight + "px"; 
}
<body style="font-size:75%;" 
     onload="Resize_IFrame(document.getElementById('iframe1')); 
       Resize_IFrame(document.getElementById('iframe2'));"> 

<!-- ... --> 
<iframe id='iframe1' name='iframe1' width="100%" frameBorder='0' 
      src='/aa.jsp'></iframe> 
<iframe id='iframe2' name='iframe2' width="100%" frameBorder='0' 
     src='/bb.jsp'></iframe> 

<img src='/max.jpg' onclick="hide('iframe1_table') ;Resize_IFrame(document.getElementById('iframe1'));"/> 

    function Hide(Table_Name) 
{ 
    var Table  = document.getElementById(Table_Name + "_table"); 
    var Hide_Icon = document.getElementById(Table_Name + "_hide_image"); 
    var Add_Icon = document.getElementById(Table_Name + "_add_image"); 
    Table.style.display = 'none'; 
    Add_Icon.style.display = 'block'; 
    Hide_Icon.style.display = 'none'; 
    document.getElementById(Table_Name + "__is_collapsed").value = 'Y'; 
} 
+1

ここでIFrameを使用している特別な理由はありますか?たとえば、 'div'のように、フレームの内容をドキュメントに直接入れるだけであれば、ブラウザは' div'のサイズを変更します。 – RoToRa

+0

表示/非表示コードと、これがどのようにResize_IFrameを呼び出すかを投稿できますか? – roryf

+0

フォームは完全なページとして用意されているので、私はそれらをIFrameに入れる必要があります。私はそれらを使うのが嫌いですが、私は本当にそれらにこだわっています – ama

答えて

0

Firefoxはちょうど目に見える領域としてのiFrameのサイズを与えるので、スクロールバーが除外されています。

+0

しかし、サイズ(幅と高さ)の値は、隠れて表示する前にほぼ閉じていますが、私は目の前に隠す前と同じではないことを表示した後にそのサイズを区別できます。 – ama