2013-01-11 154 views
0

我在頁面上有一個按鈕。當用戶點擊該按鈕,然後我動態生成一個div其中i分配一些文字和動態圖像並打印通過在jQuery插件專區 我這樣做有一個名爲jquery的DIV打印插件jquery.printElement.min.js用jQuery和谷歌Chrome瀏覽器問題打印動態DIV

我的代碼在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; 
}); 

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

+0

我的猜測是,它只是一個加載問題。在chrome嘗試打印時圖像未加載,並且FF和IE可能會等待圖像加載。 **編輯**:如果您在調用'$ dvPrint.printElement();' –

+0

之前預先加載圖像,可能會起作用爲什麼在分配src時使用了'''然後'''''

+0

@Tiago Salzmann'''在字符串的開始和結束處使用''''是字符串的所以它是正確的。 –

回答

-1

我不是真的當然,爲什麼Chrome會如此行事,但我猜測它與該插件有關

您可以嘗試手動執行此操作。做一個很簡單的頁面,這將需要一個URL參數,這將是ImagePath的

如「/printImage.php?src=path/img.jpg」

... 

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

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

... 

打開的URL的彈出到該頁面,並呼籲window.print()加載

+0

在這裏,我問jQuery和你給我的PHP的樣本。 – Thomas

+0

當然,我沒有提供jQuery代碼,我的回答仍然非常多。我提供了使用特定jQuery插件的替代方案。 php代碼只是供頁面應該看起來像的參考。 – Dogoku