2012-03-27 15 views
0

どうすればこのことができますか?IFRAME内の列サイズ変更(HTML)

私はiframeをカラム(htmlテーブル)の中に持っていますが、iframe内のdocほど高いtdを作成したいと思います。

それは可能ですか?

+0

+0

を試してください。自動的にサイズを変更する必要があります。問題はiframeです。 iframeに明示的な高さを設定するとうまくいくはずです。ただし、自動的にサイズを変更する必要がある場合は、さらに作業する必要があります。 – Timmerz

+0

JSの使用は大丈夫ですか? –

答えて

2

ここは答えです(JQueryで)。 jQueryので

:あなたはJavascriptを使用して、コンテンツの高さを計算する必要が

$("#myIframe").on("load", function() 
{ 
    $(this).parent("td:first").css('width', $(this).css('width')).css('height', $(this).css('height')) 
}); 
+0

never tryed Jquery、今すぐ試してみようと何が起こるか見てみよう – Bachask8

+0

私はこのコードを置く必要がありますか?srryは私がJqueryに新しいことを見ることができます(私はライブラリを持っていて、 – Bachask8

0

私は2つのプロジェクトにコードのこの部分を使用しています、それは私のために[OK]を動作します。これを実現するためのよりよい方法があるかどうかはわかりません(このコードにはsetIntervalがあり、iframeのコンテンツの高さを1秒ごとに確認してその高さを更新します)。それはあまりにもjQueryを使用します。

let iframe = document.getElementById('your_iframe_id'), 
    current_height = 0, 
    iframe_content = $(iframe).contents().find('body'); 

setInterval(() => { 
    let new_height = iframe.contents().find('body').height(); 
    current_height = new_frame_height(current_height, new_height); 
    iframe.css({ height: current_height }); 
}, 1000) 

function new_frame_height(last_height, height) { 
    if(height != last_height + 60) { 
     last_height = height; 
    } 
    return last_height + 60 
} 

ところで、iframeが親から同じドメインの下にある場合のみこれが機能すると思います。 そうでない場合、ブラウザからのクロスオリジンブロックは、親が子供のコンテンツを読むことを許可しません。

関連する問題