在jQuery中创建动态iframe的更好方法?

时间:2009-11-10 00:43:43

标签: jquery iframe

所以我有以下代码执行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(){});而这根本不起作用。

那么有人对此有更清晰的建议吗?

1 个答案:

答案 0 :(得分:26)

也许只是一个没有live的常规活动?

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