2013-08-17 82 views
5

我正在將內容從一幀複製到另一幀。我的代碼在Mozilla Firefox中工作,但它不適用於Google Chrome。有人能告訴我我錯了哪裏?Jquery Iframe onload事件未在Google Chrome上執行

這部分是不是在谷歌瀏覽器執行:

$('#frame1').load(function(e){ 

}); 


下面是我的代碼塊:

$headContent = $("#mainframe").contents().find("head").html(); 
$bodyContent = $("#mainframe").contents().find("body").html(); 

$('<iframe />'); 
$('<iframe />',{ id: 'frame1', 
       class:'myframe', 
       height: 600, 
       width: "100%" 
}).appendTo(uxcontainerPath); 


$('#frame1').load(function(e){ 
    console.log("Executed #frame1 load"); //this console line is not executed in chrome   
    $(this).contents().find('html').append('<head></head>'); 
    $(this).contents().find('head').append($headContent); 
    $(this).contents().find('body').append($bodyContent); 
}); 

回答

8

它看起來好像負荷事件觸發太快,加在將iframe注入到DOM之前的負載監聽器:

$('<iframe />',{ id: 'frame1', 
       class:'myframe', 
       height: 600, 
       width: "100%" 
    }).load(function(e){ 
    console.log("Executed #frame1 load");   

    }).appendTo(uxcontainerPath); 
+0

我學到了新東西。謝謝你的回答。 – madi