2012-03-02 6 views
2

を取得し、私は以下のようにjQueryのスニペットを持っています2回目にトリガされると、コンテンツはiframeに正常に追加されます。このスニペットで明らかなエラーがありますか?追加コンテンツが空のiframe

答えて

11

一部のブラウザでは、新しいiframeのDOMを認識するのに少し時間がかかることがあります。タイムアウトを使用して動作するはずです:

$('<iframe id="myFrame" name="myFrame">').appendTo("body").ready(function(){ 
    setTimeout(function(){ 
     $('#myFrame').contents().find('body').append(myContent); 
    },50); 
}); 
+0

はい、ご利用いただきありがとうございます。 – cnherald

+0

推測によると、遅延は大きな解決策ではありません。 'contents()'を使った他の答えは遅れずに働くので、望ましいでしょう。 –

4

私は、これはあなたが探しているものだと思う:

$('<iframe id="myFrame" name="myFrame">').appendTo('body'); 
$('iframe').contents().find('body').html(myContent);  

デモ:この単純なコードでは、あなたのために使用することもhttp://jsfiddle.net/vbNGA/1/

+0

こんにちはcodefOrmer、あなたの答えをありがとう、アダムの答えは私の問題を修正しました。 – cnherald

+3

@cnherald誰がアダムですか? – dezman

1

、それがために正常に動作します私。

$("#iframe_id").contents().find("body").append("Contents to display in iframe"); 
関連する問題