我有一個包含的頁面,讓我們說3個div我想打印seperatly - 我可以做到這一點手動。但是,webapp使用無聲打印來運行Chrome,我需要在3個獨立的打印作業中打印這3個div。打印樣式表是不是我所需要的 - 3獨立打印作業是需要的...觸發window.print()兩次或更多次
所以我需要多次觸發window.print()。我想出了最好的和唯一的解決辦法是觸發我的打印功能的3倍,像這樣:
setTimeout(function() { printContent('print1', 'letter'); }, 0);
setTimeout(function() { printContent('print2', 'letter'); }, 1);
setTimeout(function() { printContent('print3', 'letter'); }, 2);
然而,somethimes Chrome瀏覽器無法運行該功能的三倍。我怎樣才能確定,函數是連續觸發3次?
如果有人覺得有趣,我printContent()函數是這樣的:
function printContent(divContent, divClass) {
var divContent = $('#' + divContent).html();
$('#print-spooler-box').html('').addClass(divClass).html(divContent);
window.print();
$('#print-spooler-box').removeClass(divClass);
}
我以前從來沒有這樣做的話這個任務,但你可以嘗試使用較長的延遲。每次打印電話之間100-250毫秒。在下一個被調用之前,它可能會給打印子系統足夠的時間來處理一個打印子系統。 – jwatts1980