我正在尝试使用打印新打开的窗口。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>...
1 回答
忽然笑
TA贡献1806条经验 获得超5个赞
窗口在 JavaScript 中仅指可见窗口。就像在屏幕上看到的任何东西一样。
1)一种方法是单独滚动和打印每页。
2)其他方法是使用@media css,但随后您需要将div标签也设置为高度100%。
@media print {
body, html, div, #wrapper {
height: 100%;
}
}
如果这也不起作用,请在浏览器中检查页面并检查所有标签。某些网站使用标记或其他标记,因此您需要查看尝试打印的网站中的所有标记,并将所有这些标记添加到相同的css打印样式中。
另外,如果这有帮助,请尝试:http://jsfiddle.net/nAFSN/1/
编辑:我也花了相当多的时间挠头很长一段时间,我强烈建议使用pdf。尝试创建内容的 pdf,并在用户单击打印时将其发送回用户。这样,您就可以更好地控制每个页面上的显示方式和内容。
添加回答
举报
0/150
提交
取消