代码之家  ›  专栏  ›  技术社区  ›  William

打印动态生成的IFrame内容

  •  1
  • William  · 技术社区  · 7 年前

    我试图在动态生成的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的内容已加载,但它仍在打印空白页。

    0 回复  |  直到 7 年前