Jquery Iframe onload事件未在Google Chrome上执行

时间:2013-08-17 08:57:44

标签: javascript jquery iframe

我正在将内容从一个帧复制到另一个帧。我的代码在Mozilla Firefox中运行,但它在Google Chrome中无效。有人能告诉我哪里出错了吗?

此部分未在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);
});

1 个答案:

答案 0 :(得分:8)

看起来好像加载事件触发太快,在将iframe注入DOM之前添加加载侦听器:

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

  }).appendTo(uxcontainerPath);