IFRAMEでのリンク先のファイルに応じた高さ調整
ソースコードをIFRAMEで貼ることにしましたが、IFRAMEで縦方向のスクロールバーが出てしまうと、かっこ悪いし操作性も悪い。
なんで、自動的に高さを調整するためにJavaScriptを仕込みました。
ここの方のエントリーを参考に、ちょっと自分向けに改造。
どうもSafariでうまく動かないようなので、Safari用の対処コードを追加。
<script language="JavaScript">
<!--
function GetHeight(Y,NAME)
{
var app = navigator.appName.charAt(0);
if(navigator.userAgent.indexOf('Safari') != -1){
document.getElementById(Y).height = parent.frames[NAME].document.body.scrollHeight + 80;
}else if (app == "N")
{
document.getElementById(Y).height = parent.frames[NAME].document.height +80;
}
else
{
document.getElementById(Y).height = parent.frames[NAME].document.body.scrollHeight + 80;
}
}
// -->
</script>
IFRAMEの呼び出しの方は、
<iframe src="./untitled.as.html" onload="GetHeight(this.id,this.name)" id="Z" name="newZ" height="50" width="430" frameborder="1" marginheight="0" marginwidth="0">
</iframe>
こんな感じ。
Opera、Safariだと、リンク先のHTMLの縦方向が小さい時、iframeのheightの数値の決めうちで書いてる数値が採用されてしまうようなので、heightの値を小さめに。
これで、縦方向に綺麗にコードが出るようになって良かった良かった。
| 固定リンク | コメント (6) | トラックバック (0)



最近のコメント