インラインフレームをそれと感じさせないためにスクロールバーを消したい時、困るのは読み込み先のページの高さが一定ではない場合。こんな場合のために、JavaScriptを利用したiframeの自動調整を行ってみる。
[親フレーム側の記述](<body>~</body>内)
<iframe src="呼び込む子フレームのアドレス" frameborder="0" id="インラインフレームのID" scrolling="auto">インラインフレームが表示される状態でご覧ください。</iframe>
[子フレーム側の記述](<head>~</head>内に記述)
<SCRIPT language="JavaScript">
function iframeResize(){
var PageHight = document.body.scrollHeight + 0; // ページの高さを取得
window.parent.document.getElementById('インラインフレームのID').style.height = PageHight + 'px'; // iframeの高さを変更
}
window.onload = iframeResize;
</SCRIPT>
ただし、子フレーム側のbody内の記述で一番下になるブロック要素にマージンがあると上手くいかないようだ。この場合、ダミーのブロック要素を最後に挿入すれば良い。