Chrome与打印预览有关的问题

时间:2018-10-29 21:47:16

标签: javascript html css html5 css3

我想单击一个按钮以打印预览页面。到目前为止,我有以下代码:

  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的功能,但是没有样式。

0 个答案:

没有答案