Подтвердить что ты не робот

Лучший способ создания динамических iframes в jQuery?

Итак, у меня есть следующий код, который выполняет 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() {}); и это не работает вообще.

У кого-нибудь есть более чистая рекомендация по этому поводу?

4b9b3361

Ответ 1

Может быть, просто регулярное событие без live?

$('<iframe id="testiframe"/>').load(function(){
    $('#testiframe').contents().find('body').append('asd');
}).appendTo("#testdiv");