2012-04-05 10 views
2

ウェブページと同じドメインにiframeがあります。iframeでサイズ変更可能なページを書き込む方法は?

私は体がブラウザのサイズが変更されたときにリサイズされたIFRAME、含まれていながら、私は、(私はそれが何であるかわからない、のは80pxを言わせて)同じ高さを維持したいと思いヘッダーがあります。

----------  -------------- 
| header |  | header | 
----------  -------------- 
| iframe | -> |   | 
|  |  |   | 
|  |  | .... | 
----------  |   | 
        |   | 
        -------------- 

私はjQueryのを使用していますが、iframe divの上height()css()を試してみましたが、これらはiframeの寸法を変更しないでください。 iframeは、同じ、小さな既定のディメンションにとどまります。

iframe CSSでパーセンテージを手動で指定した場合、サイズ変更は機能しますが、これらはパーセンテージであるため、即時ページの境界線を越えて十分なパーセント値が画面から外れると切り捨てられます。

iframeは、ページの境界内にとどまるように、ピクセル単位で独自の罫線を計算する方法が必要です。私はウィンドウの幅と高さをつかむことができますが、上記のようにcss()height()を適用してもiframeのサイズは更新されませんでした。

もう一度:親ページと同じドメイン内のiframeで作業しています。

resize()操作(またはブラウザウィンドウのサイズを変更)が実際に動作するようにどのように正しく、両方ヘッダとiframeのリサイズをコードでしょうか?

<html> 
<head> 
... // load jquery, etc. 
<script> 
function resize() { 
    var w = $('#body').width(); 
    var h = $('#body').height(); 

    $('#header').width(w + "px"); // works 
    $('#header').height("80px"); // works 

    $('#my_iframe').css("width", w + "px"); // doesn't work 
    $('#my_iframe').width(w + "px"); // doesn't work, either 

    $('#my_iframe').css("height", (h-80) + "px"); // doesn't work 
    $('#my_iframe').height((h-80) + "px"); // doesn't work, either 
} 
</script> 
</head> 

<body onresize="resize()" id="body"> 
<div id="header"><div> 
<iframe id="my_iframe" .../> 
</body> 
</html> 
+0

確認するには、iframeタグ自体の寸法を設定していますか?あなたが "iframe div"について言ったとき、私は混乱しました。私のアプローチは、ウィンドウのサイズ変更を聞き、イベントコールバックでiframeタグの寸法を本体の幅と同じにし、本体の高さからヘッダの高さを引いた値に設定します。 –

+0

'iframe'でページを埋めたままにし、上部に' 80px'セクションを入れないようにしていますか?または 'iframe'が親ウィンドウのサイズを変更できるかどうか? – Marcel

答えて

2

バインドwindowresizeイベント、およびiframeの高さ設定:

私が試してみましたコードは、次のようなものがある

$('#content').css('height', ($(window).height() - 80) + 'px'); 

デモ:http://jsfiddle.net/Guffa/t4b4j/

関連する問題