J'ai donc le code suivant qui fait un setInterval jusqu'à ce que l'iframe soit disponible pour être écrit.meilleure façon de créer des iframes dynamiques dans jQuery?
$('#testdiv').append($('<iframe id="testiframe"/>'));
var t = setInterval(function(){
if(document.getElementById('testiframe') !== 'undefined'){
clearInterval(t);
$('#testiframe').contents().find('body').append('asd');
}
}, 15);
Fondamentalement, ce qui se passe est que jQuery crée l'élément iframe et le charge dans le DOM. Cependant, l'iframe n'est pas disponible immédiatement, donc les appels jQuery supplémentaires qui sont codés arrivent juste après. Avec ce morceau de code, il effectue un simple contrôle d'intervalle jusqu'à ce que le nouveau iframe soit disponible, puis écrit 'asd' dans son contenu.
J'ai passé environ une heure à essayer différentes méthodes de chaînage de méthodes pour la création d'iframe, mais rien ne fonctionne vraiment. Tout semble être une question de timing. J'ai essayé $ ('# témoignage'). Live ('load', function() {}); et ça ne marche pas du tout.
Est-ce que quelqu'un a une recommandation plus propre à ce sujet?
connexes: http://stackoverflow.com/questions/205087/jquery-ready-in-a-dynamically-inserted-iframe – artlung