добавление контента в созданный в dymanical iframe получает пустой iframe - PullRequest
3 голосов
/ 02 марта 2012

У меня есть фрагмент jQuery, как показано ниже:

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

Когда событие запускается в первый раз, отображается только пустой iframe, но если событие запускается во второй раз, содержимое успешно добавляется в iframe. Любая очевидная ошибка в этом фрагменте?

Ответы [ 3 ]

12 голосов
/ 02 марта 2012

Я считаю, что некоторым браузерам требуется небольшая задержка для распознавания DOM нового iframeИспользование таймаута должно работать:

$('<iframe id="myFrame" name="myFrame">').appendTo("body").ready(function(){
    setTimeout(function(){
        $('#myFrame').contents().find('body').append(myContent);
    },50);
});
4 голосов
/ 02 марта 2012

Я думаю, это то, что вы ищете:

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

Демо: http://jsfiddle.net/vbNGA/1/

1 голос
/ 27 февраля 2014

Этот простой код может быть использован для вас, он отлично работает для меня.

$("#iframe_id").contents().find("body").append("Contents to display in iframe");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...