2013-06-03 231 views
1

如果你運行這個的jsfiddle在Chrome中,也將努力IFRAME,但IE和FF失敗:http://jsfiddle.net/LbFPu/2/不能寫在FF或IE瀏覽器,Chrome瀏覽器只

我想這事做如何每個引擎寫入DOM?有沒有辦法等待以前的內容被寫入?例如:

function firstMe(){ 
    $('body').append('<div id="first"></div>'); 
    // many other new elements appended 
} 

function thenMe(){ 
    $('#first').append('etc'); 
    // many of the recently appended elements being referenced 
} 

當爲了叫,我想它會在Chrome中正常工作,但不是在IE & FF。由jsfiddle結果來判斷。

以前有人曾經處理過這個問題嗎?

+0

在小提琴上,在FireBug的FF中,在JS的第一行設置一個斷點,然後輸出將在那裏。 –

回答

1

那只是因爲你想寫信給尚未加載入一個iframe,似乎鉻更快:

$('body').append('<iframe id="upload"></iframe>'); 
var form = $('<form enctype="multipart/form-data" id="image_upload" action="index.php">' 
    + '<input type="file" accept="image/*" multiple name="img[]" id="image" />' 
    + '<br>' 
    + '<input type="submit" value="Upload images" class="upload" />' 
    + '</form>'); 

$('#upload').on('load', function() { 
    $(this).contents().find('body').append(form); 
}); 

FIDDLE

+0

完美,奇怪的是,有時它會閃爍,我可以看到插入的元素半秒鐘,然後iframe會變成空白。 – localhost

-1

在FF,如果添加一個setTimeout()周圍的最後一行它的工作原理:

相關問題