我有兩個功能,打印element
和打印page
打印使用jQuery
function printPage(page,redirect,dontPrint=false)
{
if($('.printThis').length == 0)
{
$('body').append('<div class="printThis hide"></div>');
}
$('.printThis').load(page,function(){
printContent($('.printThis'),redirect,dontPrint);
$('.printThis').remove();
});
}
function printContent(div_id,redirect,dontPrint=false)
{
var DocumentContainer = div_id.html();
var html = '<html><head>'+
'<link href="'+tmpl+'assets/css/print.css" rel="stylesheet" type="text/css" />'+
'</head><body style="background:#ffffff;">'+
DocumentContainer+
'</body></html>';
var WindowObject = window.open("", "PrintWindow",
"width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes");
WindowObject.document.write(html);
WindowObject.document.close();
WindowObject.focus();
setTimeout(function() {
if(!dontPrint)
{
WindowObject.print();
WindowObject.close();
}
if(redirect)
window.location.assign(redirect);
}, 50);
}
形式,我把一個按鈕,在任何網頁上點擊功能打印頁面
<button class="btn btn-primary btn-xs" onclick="printPage('/myproject/prints/bill/sales/5','')">Print Bill</button>
當用戶點擊另一個頁面該按鈕爲first time
它彈出一個blank page
!!!! 任何時候,他再次點擊按鈕,它工作正常
你能幫助嗎?
爲什麼這樣?您可以將''添加到您的iframe中,並且它可以工作。 –
避免使用像這樣的超時:用戶具有所有不同類型的連接。使用'onload'函數來完成你正在尋找的東西。 – FrankerZ
如何在'.load'中使用'onload'函數,我打電話給另一個頁面?和'沒有iframe' –