我正在将内容从一个帧复制到另一个帧。我的代码在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);
});
答案 0 :(得分:8)
看起来好像加载事件触发太快,在将iframe注入DOM之前添加加载侦听器:
$('<iframe />',{ id: 'frame1',
class:'myframe',
height: 600,
width: "100%"
}).load(function(e){
console.log("Executed #frame1 load");
}).appendTo(uxcontainerPath);