所以我有下面的代碼,它正在做一個setInterval,直到iframe可用於寫入。更好的方式在jQuery中創建動態iframes?
$('#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(){});而這根本不起作用。
那麼有沒有人有更清潔的建議呢?
相關:http://stackoverflow.com/questions/205087/jquery-ready-in-a-dynamically-inserted-iframe – artlung 2009-11-10 00:58:09