打印包含动态图像的Div

时间:2015-12-24 17:16:06

标签: javascript jquery html printing

我使用以下代码在div中打印javascript

 $('body').on('click','button#printreceipt',function(){
        var printWindow = window.open('', '', 'height=400,width=800');
        var divContents = $("#appendReceiptHere").html();
        printWindow.document.write(divContents);
        printWindow.print();
        printWindow.document.close();

    });

div包含动态生成的图片,例如

<img src="/mysite/generate_test_image.php" />

正确显示div和动态图像。但是当我尝试打印div时,图像没有显示,它就消失了。

任何提示?

1 个答案:

答案 0 :(得分:2)

尝试等待图片加载然后打印。

因此,要在您的函数中打印,请尝试在弹出窗口中的窗口onload事件上打印,如:

$('body').on('click','button#printreceipt',function(){
   var printWindow = window.open('', '', 'height=400,width=800');
   var divContents = $("#appendReceiptHere").html() +
                        "<script>" +
                        "window.onload = function() {" +
                        "     window.print();" +
                        "};" +
                        "<" + "/script>";
   printWindow.document.write(divContents);
   printWindow.document.close();
});