IE在IFRAME下使web打印会打印父页面的解决方法

作者:翅膀的初衷 来源:www.jiniannet.com 发布时间:2018-07-17 查看数:10802

在当前,IE浏览器可以说是非常不受大家待见了,虽然连微软都已经放弃了它,但是在我们的日常生活中,却还是处处见到它的身影。

\

特别是在某些单位,还存在大量WIN XP/IE8的情况。于是,我们不得不耐心来做着兼容。

\

最近笔者在做WEB打印时就遇到了一个小麻烦。鉴于使用场景,我们希望在用户点击打印按钮时,能直接打印我们指定的页面。所以我们采用了在该页面(A)中append一个iframe来调用我们的打印页(B),在打印页(B)中使用window.print()来进行打印。

\

在测试中,各浏览器的打印效果都比较理想,不过在测试IE时,会发现打印的页面不是我们预期中的iframe中的页面B,而是父页面A。

\

解决方法如下:

\

if(isIE){ //isIE,判断是否是IE浏览器,请自行实现,此处略
    document.execCommand("print");
}else{
    window.focus();
    window.print();
}