以下代码行在浏览器弹出窗口中创建一个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()之前,先将document编码。

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

Works in IE9

08-28 12:56