微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – window.print()从Chrome子窗口 – 关闭,然后中断

在我们的webapp中,通过window.open()用户单击target =“_ blank”的链接启动Chrome子窗口,然后在该子窗口中,body onload =“window.print()”自动启动打印对话框和打印预览,然后用户关闭打印/子窗口,而不是单击取消,父窗口完全停止.特别:

>没有javascript事件将触发
>没有链接可点击
>点击F5会在选项卡中显示一点微调,但页面永远不会重新加载.
父窗口真的死了 – 你可以做的只是关闭它.

如果您在子窗口(其中通过window.print()启动打印预览)中单击取消,一切都很好.但如果用户关闭窗口,所有的疯狂都会发生.

这是Chrome中已知的错误

> bug 1
> bug 2
> bug 3

有人知道一个解决办法吗?

解决方法

而不是使用window.print(),只需将您的内容带到新窗口,然后调用下面给出的打印功能来打印内容.

以下是一个函数调用,我们通过它的id将元素的内部html传递给新窗口.

PrintContent(document.getElementById('div-content-id').innerHTML);

function PrintContent(printableContent) {
    var printwindow = window.open("","Print_Content",'scrollbars=1,width=900,height=900top=' + (screen.height - 700) / 2 + ',left=' + (screen.width - 700) / 2);
    printwindow.document.write(printableContent);
    printwindow.document.close();
    printwindow.focus();
    printwindow.print();
    printwindow.close();
    return false;
}

我也面临着同样的问题,它对我有用.

原文地址:https://www.jb51.cc/js/154502.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐