我使用以下JavaScript代码打印<div>
。我在按钮点击时调用了printit()
函数。当函数运行时,我得到两个窗口。一个是显示打印选项,在后台有一个预览窗口,显示该功能创建的<div>
的数据。
我想排除那个背景窗口。我该怎么办?
<script>
function printit()
{
var DocumentContainer = document.getElementById('printthis');
var WindowObject = window.open('', 'PrintWindow', 'width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes');
WindowObject.document.writeln(DocumentContainer.innerHTML);
WindowObject.document.close();
WindowObject.focus();
WindowObject.print();
WindowObject.close();
}
</script>
答案 0 :(得分:2)
如果您愿意,可以创建一个隐藏的iframe,将文档写入其中,然后在其窗口对象上调用print函数,而不是创建一个无法隐藏的窗口。
答案 1 :(得分:1)
你不能用当前的方法做到这一点。这是您在函数中创建的窗口。如果您没有该窗口,则无法打印任何内容。
另一种方法是使用媒体CSS。您可以使用CSS打印,隐藏打印输出中不需要的所有内容。这样您就可以打印当前窗口而不是创建新窗口。
答案 2 :(得分:0)
你做不到。使用JavaScript创建新的浏览器窗口时,无法使其不可见。 (你可以想象为什么:我在互联网上访问一个随机的网站,它在我的电脑上创建了一个看不见的浏览器窗口?不,谢谢!)
我建议您在窗口显示时感到高兴。为什么用户不应该看到正在打印的内容?