ここから本文です

iframeの高さの自動可変で悩んでいます。

bil********さん

2010/6/1615:33:14

iframeの高さの自動可変で悩んでいます。

フラッシュからiframeに呼び込むhtmlを操作して高さを自動で変更しています。

スクリプトは以下の通りです。

【フラッシュ】
on(press) {
getURL("子フレーム.html","newframe");
}

【html】
<head>
<script type="text/javascript" src="../Scripts/getheight.js"></script>
</head>
<body>
<フラッシュ>
<iframe src="" id="frame" name="newframe" onload="GetHeight(this.id,this.name)" width="100" height="0" frameborder="0" scrolling="no">
</iframe>
</body>

【getheight.js】
function GetHeight(ID,NAME){
document.getElementById(ID).style.height = 0 +"px";
if (document.height) {
document.getElementById(ID).style.height = parent.frames[NAME].document.height +20 +"px" ;
}else{
document.getElementById(ID).style.height = parent.frames[NAME].document.body.scrollHeight +20 +"px";
}
}

IE、Safariでは上手く表示できるのですが、FireFoxでは高さの変更が行われません。
高さを指定して試したところ、フラッシュからのページの読み込み自体は出来ているようです。

どなたか理由がわかりませんでしょうか?

閲覧数:
940
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

tal********さん

2010/6/1717:00:15

> parent.frames[NAME].document.height

一部のブラウザまたは特定のDOCTYPEの時は、
フレームの中に限り、documentではなくdocumentElementを使用しなければならないことがあります。

parent.frames[NAME].documentElementが存在する場合はdocumentElementを使用し、
そうでない場合はdocumentを使用するようにしてみて下さい。

documentElement.height、documentElement.scrollHeightだったか、documentElement.body.heightだったか、、、
分岐がかなり増えるかもしれません。

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる