window.print()打印其他空页

时间:2018-10-18 10:37:17

标签: javascript xaml printing

对于上下文:在我的页面上,我想通过按钮或链接调用window.print函数。打印不会采用当前显示的内容,而是使用display:none div,将其放入新窗口,使其可见并启动打印。在新打开的窗口中可见的内容非常好,但是实际生成的打印结果始终会附加一个空白页。

这是有问题的JS代码:

<Script>
    
    var printContent = document.getElementsByClassName("PrintTable")[0];
    printContent["display"]="block";
    var logo = document.getElementsByClassName("Logo")[0];
    logo["display"]="block";
    var cssLocation = "legitcsslink";
    WinPrint.document.write('&lt;!DOCTYPE html&gt;');
    WinPrint.document.write('&lt;html&gt; &lt;head&gt;');
    WinPrint.document.write('&lt;link rel="stylesheet" href=' + cssLocation + ' type="text/css" /&gt;');
    WinPrint.document.write('&lt;/head&gt; &lt;body&gt;');
    WinPrint.document.write(logo.innerHTML);
    WinPrint.document.write(printContent.innerHTML);
    WinPrint.document.write('&lt;/body&gt; &lt;/html&gt;');
    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.print();

  </Script>

这是在将标题等(包括对CSS的引用)手动写入WinPrint之后开始发生的,因为它以前不会在WinPrint中使用我的CSS。

我已经尝试了几件事,例如通过this solution在该代码段中手动设置高度,分页符和溢出,但是这些都无济于事,我完全迷失了。

0 个答案:

没有答案