为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_遁去的一_1 2022-09-02 10:14:57
我正在尝试使用打印新打开的窗口。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,并在用户单击打印时将其发送回用户。这样,您就可以更好地控制每个页面上的显示方式和内容。


查看完整回答
反对 回复 2022-09-02
  • 1 回答
  • 0 关注
  • 516 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信