我正在尝试使用以下代码在动态生成的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的内容已加载,但仍在打印空白页。