みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

<iframe>で読み込むページの高さを自動取得して、heigthに代入

一つ大きなフレームを
<iframe name="disp" src = "" height=1000 width=1000 frameborder=0 scrolling=auto></iframe>
とおいて、同一ページ内から<a href="test.html" target=disp>
として、test.htmlが空白ページの<iframe>内に表示させるようにしたいのですがその都度、読み込むページの高さを自動取得して、heightとして自動的に適切な高さに変換するということはできいないでしょうか?

投稿日時 - 2007-11-05 22:12:27

QNo.3492523

すぐに回答ほしいです

質問者が選んだベストアンサー

こういう場合にはJavaScriptを使うのが一番です。
まず、メモ帳に以下のものをコピー&ペーストしてください。

function iframeResize(){
var PageHight = document.body.scrollHeight + 30; // ページの高さを取得
window.parent.document.getElementById('disp').style.height = PageHight + 'px'; // iframeの高さを変更
}
window.onload = iframeResize;

そして、ファイル名は「~.js」となるように保存しておきます。
そのあとに、iframeで表示させたいHTMLファイルの<head>~</head>に

<script src="~.js" type="text/javascript"></script>

を追加してください。
「~.js」は先ほど保存したファイル名になります。
そして、<iframe>タグも以下のように変えておきます。

<iframe name="disp" id="disp" src="" height="1000" width="1000" frameborder="0" scrolling="auto"></iframe>

こちらでも試してみましたが、動作しました。
ただ、JavaScriptがOFFの人はiframeの高さは変わりません。

投稿日時 - 2007-11-06 11:58:22

お礼

詳しい回答ありがとうございます
成功しました。ホントありがとうございました^^

投稿日時 - 2007-11-06 19:25:15

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問