0

我的页面上有一个按钮。当用户单击该按钮时,我会动态生成一个 div,在其中动态分配一些文本和图像,并通过 jquery 插件打印该 div。我使用名为jquery.printElement.min.js的 jquery div 打印插件做到了这一点

我的代码在 IE 和 FF 浏览器中运行良好,但在 chrome 中运行。如果 chrome 图像未分配或加载到 div 中,则仅打印文本。

这是我的代码,通过它我将图像和文本分配到 div 并通过 jquery 插件打印该 div。

$("#Print").click(function () {
    if (ImgPath != '') {
        sHtml = "<div id='dvPrint' ><table>";
        sHtml += "<tr><td>" + "<img src='" + ImgPath + "' height='600' width='400' border='0'/>" + "</td></tr>";
        sHtml += "<tr><td>" + $('#lblTxt').html() + "</td></tr>";
        sHtml += "</table></div>";
        var $dvPrint = $(sHtml);
        //alert(ImgPath);
        $dvPrint.printElement();  // jquery div print plug-in
    }
    else {
        alert("Image not found for print");
    }
    return false;
});

插件网址:- https://github.com/erikzaadi/jQueryPlugins/tree/master/jQuery.printElement

4

1 回答 1

-1

我不太确定,为什么 Chrome 会这样,但我猜它与那个插件有关

您可以尝试手动执行此操作。制作一个非常简单的页面,它会带一个 url 参数,即 imagePath

例如“/printImage.php?src=path/img.jpg”

...

<body onload="window.print()">

<?php
   echo '<img src="' . $_GET["src"] . '"/>'
?>

...

打开一个带有该页面 url 的弹出窗口,并在加载时调用 window.print()

于 2013-01-11T11:41:20.450 回答