window.print() 不打印整个页面

我正在尝试使用打印新打开的窗口。window.print()


我的问题是,只打印页面的起始部分(只有当您滚动到窗口左上角时看到的内容)。


这是我的代码:


var printWindow = window.open("", "Print", "width=" + nWidth + "px, height=" + nHeight+ "px");

printWindow.document.write(sSvgData, sDivData);

printWindow.document.close();

printWindow.print();

我已经尝试过的解决方案,但对我不起作用:


1)将整个html写入文档(使用),并将my包含在标题中window.document.write()css


<html><head><link rel="stylesheet" href="../css/style.css" type="text/css" media="print"/></head> 

<body>...


style.css:

@media print {

  body, html, div, #wrapper {

      height: 100%;

      width: 100%;

  }

}

2) 与 1) 相同,但包括内联样式,如:


<html><style>@media print { body, html, #wrapper { height: 100%; width: 100%;} }</style><body>...



qq_遁去的一_1
浏览 534回答 1
1回答

忽然笑

窗口在 JavaScript 中仅指可见窗口。就像在屏幕上看到的任何东西一样。1)一种方法是单独滚动和打印每页。2)其他方法是使用@media css,但随后您需要将div标签也设置为高度100%。@media print {&nbsp; &nbsp; &nbsp; body, html, div, #wrapper {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; height: 100%;&nbsp; &nbsp; &nbsp; }}如果这也不起作用,请在浏览器中检查页面并检查所有标签。某些网站使用标记或其他标记,因此您需要查看尝试打印的网站中的所有标记,并将所有这些标记添加到相同的css打印样式中。另外,如果这有帮助,请尝试:http://jsfiddle.net/nAFSN/1/编辑:我也花了相当多的时间挠头很长一段时间,我强烈建议使用pdf。尝试创建内容的 pdf,并在用户单击打印时将其发送回用户。这样,您就可以更好地控制每个页面上的显示方式和内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript