我想单击一个按钮以打印预览页面。到目前为止,我有以下代码:
print(resultId){
var printWindow = window.open('', 'PrintWindow', 'height=800,width=1240');
printWindow.document.write('<link rel="stylesheet" href="/css/styles.css">');
printWindow.document.write(document.getElementById(resultId).innerHTML);
printWindow.document.close();
printWindow.focus();
// printWindow.print();
// printWindow.close();
// return true;
}
这将打开一个新窗口,但不会打开打印预览,因此基本上您必须单击ctrl + p,然后在“打印预览”中单击“打印”按钮。
如果我取消注释上面的注释代码,则它将直接打开“打印预览”,但在Chrome上该页面为空白。知道为什么会这样吗?我该如何解决?
更新(以这种方式尝试也还是空白):
print(resultId){
var printWindow = window.open('', 'PrintWindow', "width="+screen.availWidth+", height="+screen.availHeight);
printWindow.document.write('<html><head>');
printWindow.document.write('<link rel="stylesheet" href="/css/styles.css">');
printWindow.document.write('</head>');
printWindow.document.write('<body>');
printWindow.document.write(document.getElementById(resultId).innerHTML);
printWindow.document.write('</body></html>');
printWindow.document.close(); // necessary for IE >= 10
printWindow.focus(); // necessary for IE >= 10*/
printWindow.print();
printWindow.close();
return true;
}
更新2:
print(resultId){{
var printWindow = window.open('', 'PrintWindow', "width="+screen.availWidth+", height="+screen.availHeight);
printWindow.document.write('<html><head>');
// printWindow.document.write('<link rel="stylesheet" href="/css/styles.css">');
printWindow.document.write('</head>');
printWindow.document.write('<body>');
printWindow.document.write(document.getElementById(resultId).innerHTML);
printWindow.document.write('</body></html>');
printWindow.document.close(); // necessary for IE >= 10
printWindow.focus(); // necessary for IE >= 10*/
printWindow.print();
printWindow.close();
return true;
}
这将在Chrome上打开Print Priview的功能,但是没有样式。