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();

问题解决!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值