iframe
には、コンテンツを表示し、スクロールバーを表示するのに必要なだけの垂直方向のスペースが必要です。それはすべて可能ですか?iframeに垂直方向のスペースを取る
回避策はありますか?それが必要として、それは同じくらい垂直方向のスペースを取ることについてはまだ
body {
overflow-x: hidden;
overflow-y: hidden;
}
私はわからないんだけど、私は理解できない場合、私はわかります
iframe
には、コンテンツを表示し、スクロールバーを表示するのに必要なだけの垂直方向のスペースが必要です。それはすべて可能ですか?iframeに垂直方向のスペースを取る
回避策はありますか?それが必要として、それは同じくらい垂直方向のスペースを取ることについてはまだ
body {
overflow-x: hidden;
overflow-y: hidden;
}
私はわからないんだけど、私は理解できない場合、私はわかります
これは、その内容の高さにIFRAME
高さを設定する必要があります。
編集:おっと、忘れてthe_height
を宣言してください。
このCSSスニペットは、垂直スクロールバーを削除する必要がありますそれを出す。
<script type="text/javascript">
the_height = document.getElementById('the_iframe').contentWindow.document.body.scrollHeight;
document.getElementById('the_iframe').height = the_height;
</script>
あなたはスクロールバーをオフにするには、あなたのIFRAME
にscrolling="no"
を追加することもできます。
は
document.getElementById('the_iframe').contentWindow.document.body.scrollHeight
私はIEとFFの両方に問題を抱えていたW3C DOCTYPE for examples
参照ラインから正しい値を計算するのに役立ちますIFRAME
ソース文書にDOCTYPE
宣言を追加することは、レンダリングされたようDOCTYPE
を追加するまで、 'quirks'モードのドキュメントをiframe
に追加してください。
FF/IE/Chromeのサポート:.scrollHeightはChromeで動作しないので、jQueryを使用してiframeコンテンツに基づいてすべてのIFRAME
の高さを設定するjavascriptの例を考え出しました。注:これは現在のドメイン内の参照ページ用です。
<script type="text/javascript">
$(document).ready(function(){
$('iframe').each(function(){
var context = $(this);
context.load(function(event){ // attach the onload event to the iframe
var body = $(this.contentWindow.document).find('body');
if (body.length > 0 && $(body).find('*').length > 0) { // check if iframe has contents
context.height($(body.get(0)).height() + 20);
} else {
context.hide(); // hide iframes with no contents
}
});
});
});
</script>
このスレッドもチェックしてください:How does the DiggBar dynamically resize its iframe's height based on content not on their domain?
これは同じ質問に対処しています。
非常に便利な、歓声。 iframeが同じ原産地規則のために別のドメインにある場合、これがうまく動作しないことに言及する価値があるかもしれません。 – ConroyP