一尘不染

将内容附加到动态创建的iframe中会得到一个空的iframe

ajax

我有一个jQuery片段,如下所示:

$.ajax({
  ....
  success: function(myContent) {
    .....
    $('<iframe id="myFrame" name="myFrame">').appendTo('body').ready(function(){
      $('#myFrame').contents().find('body').append(myContent);
    });
    .....
  });
});

第一次触发该事件时,仅显示一个空的iframe,但是如果第二次触发该事件,则内容将成功添加到iframe中。此代码段中是否有任何明显的错误?


阅读 207

收藏
2020-07-26

共1个答案

一尘不染

我相信某些浏览器需要短暂的延迟才能识别新iframe的DOM。使用超时应该可以:

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