Javascript 打开没有内容的打印窗口

Javascript 打开没有内容的打印窗口,javascript,Javascript,我有一个按钮,可以打开打印窗口并设置要打印的内容。当我点击一个按钮时,JS函数被触发。问题是打印窗口在没有“内容”的情况下打开,所以它只打印一个空页面。如果我来到打印窗口并单击Control+P,它工作正常。如何在打开打印窗口之前设置内容 function printApp(){ var content = document.documentElement.innerHTML; content = content.replace('<input type=\"button\"

我有一个按钮,可以打开打印窗口并设置要打印的内容。当我点击一个按钮时,JS函数被触发。问题是打印窗口在没有“内容”的情况下打开,所以它只打印一个空页面。如果我来到打印窗口并单击Control+P,它工作正常。如何在打开打印窗口之前设置内容

function printApp(){
   var content = document.documentElement.innerHTML;
   content = content.replace('<input type=\"button\" class=\"btn btn-success\" value=\" Print Application \" onclick=\"printApp();\">', '');                          
   var mywindow = window.open('', 'Print', 'height=600,width=800');

   mywindow.document.write('<html>');
   mywindow.document.write(content);
   mywindow.document.write('</html>');
   mywindow.document.close();
   mywindow.focus()
   mywindow.print();
   //mywindow.close();
   return true;                     
}  
函数printApp(){
var content=document.documentElement.innerHTML;
内容=内容。替换(“”,”);
var mywindow=window.open(“”,'Print','height=600,width=800');
mywindow.document.write(“”);
mywindow.document.write(内容);
mywindow.document.write(“”);
mywindow.document.close();
mywindow.focus()
mywindow.print();
//mywindow.close();
返回true;
}  

我知道您想动态设置打印布局,但您似乎也只想在打印前从内容中删除一个按钮。这可以通过CSS媒体查询实现:

@媒体打印{
.btn.btn-success{
显示:无;
} 
}

当打印窗口处于活动状态时,这将从DOM中删除任何具有
btn btn success
类的按钮。

不明白为什么…它看起来很好它与Safari配合使用很好,但与Firefox配合使用不好我想这是为了从内容中删除按钮,但我仍然存在打印打开时页面为空的问题我知道,因为你在一个没有内容的新标签中打开它。如果您在不调用
window.open()
的情况下使用上面的媒体查询,它将工作,因为它将在包含可打印内容的当前页面上打开。仍然不工作。顺便说一句,问题发生在Firefox上,但Safari可以正常工作