我试图在动态生成的IFrame中打印一个HTML页面,代码如下:
var jFrame = $("<iframe name='ifm' src='{0}'>".format(url));
jFrame.css("width", "1px")
.css("height", "1px")
.css("position", "absolute")
.css("left", "-9999px")
.appendTo($("body:first"));
var objFrame = window.frames['ifm'];
$(objFrame).on('load', function () {
// Only for testing
console.log(window.frames['ifm'].document.body);
objFrame.focus();
objFrame.print();
});
setTimeout(
function () {
jFrame.remove();
},
(30 * 1000)
);
但当我点击打印时,它会打印一个只有页眉和页脚的空白页面。
执行这一行的时刻:
console.log(window.frames['ifm'].document.body);
,它会正确打印iframe主体的内容,因此我假设iframe的内容已加载,但它仍在打印空白页。