window.print()在IE浏览器中没效果?

window.print()在IE浏览器中没效果?

今天碰到一个很头疼的问题
之前一直用firefox调试,但是昨天boss查看演示的时候是在IE上,结果在打印一张网页表格的时候出现问题,换到firefox或者chrome上没有问题,
在调用window.print()对文档进行打印。但是一直不弹打印对话框

var newWindow = window.open();
newWindow.document.write(prnhtml);
newWindow.print();
newWindow.close();

上面的代码就是我的代码。

出现这样的问题,有一个显著的特点,就是你对document进行了写入操作,即调用了document.write。然后去调用window.print。

解决办法就是:在调用document.write后面,先调用document.close(),然后再去调用print,就可以了。

原因可能在于js调用write之后,就打开了一个流操作,只要没有关闭流操作,其他的系统性的调用,都是不会走的。代码如下

    var newWindow = window.open();
    newWindow.document.write(prnhtml);
    newWindow.document.close();
    newWindow.focus();
    newWindow.print();
    newWindow.close();

问题解决!


版权声明:本文为qq_40889460原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。