0

ページにボタンが1つあります。ユーザーがそのボタンをクリックすると、動的にdivが生成され、テキストと画像が動的に割り当てられ、jqueryプラグインによってそのdivが印刷されます。これは、jquery.printElement.min.jsというjquerydiv印刷プラグインを使用して行いました。

私のコードはIEおよびFFブラウザーで正常に動作しますが、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;
});

プラグインのURL:-https: //github.com/erikzaadi/jQueryPlugins/tree/master/jQuery.printElement

4

1 に答える 1

-1

Chromeがそのように動作している理由はよくわかりませんが、そのプラグインに関係していると思います

これを手動で試すことができます。imagePathとなるurlパラメータを使用する非常に単純なページを作成します

例: "/ 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 に答える