我有一个jQuery片段如下:
$.ajax({
....
success: function(myContent) {
.....
$('<iframe id="myFrame" name="myFrame">').appendTo('body').ready(function(){
$('#myFrame').contents().find('body').append(myContent);
});
.....
});
});
首次触发事件时,仅显示空iframe,但如果第二次触发事件,则内容将成功附加到iframe中。此代码段中有任何明显错误吗?
答案 0 :(得分:12)
我认为某些浏览器需要短暂的延迟才能识别新iframe的DOM。使用超时应该有效:
$('<iframe id="myFrame" name="myFrame">').appendTo("body").ready(function(){
setTimeout(function(){
$('#myFrame').contents().find('body').append(myContent);
},50);
});
答案 1 :(得分:4)
我认为这就是你要找的东西:
$('<iframe id="myFrame" name="myFrame">').appendTo('body');
$('iframe').contents().find('body').html(myContent);
答案 2 :(得分:1)
这个简单的代码可能对你有用,对我来说效果很好。
$("#iframe_id").contents().find("body").append("Contents to display in iframe");