2011-07-30 38 views
2

我使用下面的JavaScript代码来打印<div>。我点击了按钮后调用printit()函数。当函数运行时,我得到两个窗口。一个是显示打印选项,并在后台有一个预览窗口,显示该功能创建的<div>的数据。如何在不显示浏览器窗口的情况下使用JavaScript打开并打印浏览器窗口的内容?

我要排除背景窗口。我该怎么做?

<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> 

回答

2

而是创建一个窗口,它无法隐藏的,你可以创建一个隐藏的iframe,写文档到它,并调用打印功能的窗口对象,如果你想。

1

你不能用现在的方法做到这一点。这是您在函数中创建的窗口。如果你没有那个窗口,你就没有什么可打印的东西。

另一种方法是使用CSS媒体。你可以有一个用于打印的CSS来隐藏你不想包含在打印输出中的所有内容。这样您可以打印当前窗口而不是创建新窗口。

0

你不能。当您使用JavaScript创建新的浏览器窗口时,无法将其隐藏。 (你能想象为什么我访问一个网站随意在互联网上,它在我的电脑上创建一个不可见的浏览器窗口不,谢谢!)

我建议你只是具有窗口显示了快乐。为什么用户不能看到正在打印的内容?

相关问题