Итак, у меня есть следующий код, который выполняет setInterval, пока iframe не станет доступным для записи.
$( '#testdiv').append( $('<iframe id="testiframe"/>') );
var t = setInterval(function(){
if(document.getElementById('testiframe') !== 'undefined'){
clearInterval(t);
$('#testiframe').contents().find('body').append('asd');
}
}, 15);
По сути, jQuery создает элемент iframe и загружает его в DOM. Однако, iframe не доступен сразу, поэтому дополнительные вызовы jQuery, которые закодированы, должны произойти сразу после слов. С этим фрагментом кода он выполняет простую проверку интервала до появления нового iframe, а затем записывает «asd» в его содержимое.
Я потратил около часа на то, чтобы опробовать различные методы создания цепочек для создания iframe, но на самом деле ничего не работает. Все это кажется вопросом времени. Я пробовал $ ('# testiframe'). Live ('load', function () {}); и это совсем не работает.
Так у кого-нибудь есть более чистые рекомендации по этому поводу?