我看过这个问题:js window.open 然后 print()它工作得很好。我的挑战是我有很多样式想要保留在打开的打印窗口中。我试过改变
var printWindow = window.open('', '', 'width=1000,height=700');
至
var printWindow = window.open('print.aspx', '', 'width=1000,height=700');
然后像这样使用jQuery:
$("#print", printWindow.document).html($("#tabContainer").html());
但是我打开的窗口不包含实际 print.aspx 文件中的任何内容。
任何人都可以阐明发生了什么问题吗?
编辑:这很奇怪(至少对我来说)......我的 print.aspx 有这个:
<body >
<div id="print">print content here...</div>
</body>
并且从我的调用页面可以正常工作(返回 1):
alert(printWindow.document.getElementsByTagName('body').length);
但是将“body”更改为“div”会使其“失败”返回 0