Javascript打印弹出窗口在Firefox/Chrome中工作,但在Internet Explorer中不工作

Javascript打印弹出窗口在Firefox/Chrome中工作,但在Internet Explorer中不工作,javascript,html,printing,Javascript,Html,Printing,以下代码行在浏览器弹出窗口中创建html页面,然后为用户打印弹出窗口: function printPage(htmlPage) { var w = window.open("about:blank"); w.document.write(htmlPage); w.print(); } 这段代码成功地在Firefox和Chrome中打开了一个打印对话框。但是,在IE中,不显示打印对话框。有什么建议吗 我还尝试在调用print()后关闭弹出窗口,因为其他人建议修复此问题: fu

以下代码行在浏览器弹出窗口中创建html页面,然后为用户打印弹出窗口:

function printPage(htmlPage)
{
   var w = window.open("about:blank");
   w.document.write(htmlPage);
   w.print();
}
这段代码成功地在Firefox和Chrome中打开了一个打印对话框。但是,在IE中,不显示打印对话框。有什么建议吗

我还尝试在调用print()后关闭弹出窗口,因为其他人建议修复此问题:

function printPage(htmlPage)
{
   var w = window.open("about:blank");
   w.document.write(htmlPage);
   w.print();
   w.close();
}
无效。

close()
在尝试
print()
之前,请先查看
文档


.

开发者控制台告诉了你什么?奇怪;在IE8上,函数存在于
w
下,调用它时不会抛出错误,但不会发生任何事情。谢谢@josh3736,这已经成功了!问题是我试图关闭窗口,而不是文档。这现在起作用了。我知道这是一个旧的。。。但我只是好奇,这种行为是否有合理的解释。谢谢-这帮助我解决了Firefox的一个问题!“
close()
关闭由
open()
打开的文档流并强制呈现”。因此,看起来页面尚未完全呈现,因此无法打印。为什么?¯\_(ツ)_/¯
function printPage(htmlPage) 
{ 
   var w = window.open("about:blank"); 
   w.document.write(htmlPage);
   w.document.close();
   w.print(); 
}