2011-12-21 19 views
2

私は過去4日間、Googleのソリューションを使用していませんでした。前に議論したことは分かっていますが、ここではいくつかの難しさがあります。動的iframeの幅がFF8/IE9で動作しない

子ページ内のコンテンツ(同じドメイン)に基づいて、親ページのiframeの幅を変更しようとしています。私はIE7/8でうまく動作する小さなコードを書いた。 FF8のFireBugでも動作します。しかし、FF8やIE9では動作しません。どんな助けでも大歓迎です。

<iframe src="child.html" scrolling="no"></iframe> 
<script type="text/javascript"> 
var getWidth = $("iframe").contents().width(); 
$("iframe").css("width", getWidth + "px"); 
</script> 

答えて

1

.width()は、パラメータを取ります。

var getWidth = $("iframe").contents().width(); 
$("iframe").width(getWidth); 
+0

FireBug(FF8)でHTMLを検査すると、間違ったCSSの幅が設定され続けます。 FireBugコンソールでスクリプトを実行すると、子ページの幅が正しく返されますが、ブラウザでページを表示すると、子ページのコンテンツのサイズに関係なく、間違った幅の300pxが一貫して設定されます。 IE 7/8は問題ありません。 – Ryan

+0

このコードはどのように実行していますか?あなたは '$(document).ready()'関数でそれをラップしますか? – Blender

+0

私は答えを見つけたと思う。 FFとIEの最新のバージョンでは、以下のコードが上記のコードを囲んでいる必要があります。 $( "iframe")。load(function(){ }); – Ryan

0

私は答えを見つけました。どうやら、FFとIEの最新バージョンでは、私の最初の質問でコードをラップする以下のコードが必要です。

$("iframe").load(function() { 

});