window.print() 不打印整页
window.print() doesn't print entire page
我正在尝试使用 window.print()
打印新打开的 window。
我的问题是,只有页面的 start 部分正在打印(只有当您滚动到 [=34] 的 top-left 时看到的内容=]).
这是我的代码:
var printWindow = window.open("", "Print", "width=" + nWidth + "px, height=" + nHeight+ "px");
printWindow.document.write(sSvgData, sDivData);
printWindow.document.close();
printWindow.print();
我已经尝试过但对我不起作用的解决方案:
1) 将整个 html 写入文档(使用 window.document.write()
)并将我的 css
包含在 header
中
<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>...
JavaScript中的window仅指可见的window。就像在屏幕上可见的任何东西一样。
1) 一种解决方法是在dividually 中滚动和打印每一页。
2) 其他方法是使用@media css 但随后您还需要将 div 标签设置为 100% 高度。
@media print {
body, html, div, #wrapper {
height: 100%;
}
}
如果这也不起作用,请在浏览器中检查页面并检查所有标签。某些网站使用标签或其他标签,因此您需要查看您要打印的网站中的所有标签,并将它们全部添加到相同的 css 打印样式。
此外,试试这是否有帮助:http://jsfiddle.net/nAFSN/1/
编辑: 很久以前我也花了相当多的时间挠头,我强烈建议使用 pdf。尝试创建内容的 pdf,并在用户单击打印时将其发回给用户。这样,您将更好地控制在每个页面上显示的方式和内容。
我正在尝试使用 window.print()
打印新打开的 window。
我的问题是,只有页面的 start 部分正在打印(只有当您滚动到 [=34] 的 top-left 时看到的内容=]).
这是我的代码:
var printWindow = window.open("", "Print", "width=" + nWidth + "px, height=" + nHeight+ "px");
printWindow.document.write(sSvgData, sDivData);
printWindow.document.close();
printWindow.print();
我已经尝试过但对我不起作用的解决方案:
1) 将整个 html 写入文档(使用 window.document.write()
)并将我的 css
包含在 header
<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>...
window仅指可见的window。就像在屏幕上可见的任何东西一样。
1) 一种解决方法是在dividually 中滚动和打印每一页。
2) 其他方法是使用@media css 但随后您还需要将 div 标签设置为 100% 高度。
@media print {
body, html, div, #wrapper {
height: 100%;
}
}
如果这也不起作用,请在浏览器中检查页面并检查所有标签。某些网站使用标签或其他标签,因此您需要查看您要打印的网站中的所有标签,并将它们全部添加到相同的 css 打印样式。
此外,试试这是否有帮助:http://jsfiddle.net/nAFSN/1/
编辑: 很久以前我也花了相当多的时间挠头,我强烈建议使用 pdf。尝试创建内容的 pdf,并在用户单击打印时将其发回给用户。这样,您将更好地控制在每个页面上显示的方式和内容。