gpt4 book ai didi

JavaScript windows.print() 回调 - 确定打印作业何时完成

转载 作者:行者123 更新时间:2023-12-03 07:00:18 24 4
gpt4 key购买 nike

问题:是否可以向 windows.print() 函数添加回调?我意识到没有本地解决方案,但我想知道是否有某种库可以完成此任务。注意 - 如果我需要安装某些东西,我可以访问计算机。

背景:我已经实现了一个在 Firefox (v44-46) 上运行的 Web POS 解决方案。对于某些订单,我需要在 Epson TM-T88V 打印机上打印 2 张收据。

问题:如果在第一个收据仍在打印时执行第二个 windows.print() 方法,Firefox 会提示“某些打印功能不可用”。

可能的解决方案:我可以增加打印调用之间的延迟。然而,这并不是很稳健,因为有些订单可能相当长,而另一些则不然。此解决方案可能不适用于某些情况,并且只会减慢其他情况。

有更好的方法来做到这一点吗?

最佳答案

看来您想听 afterprint事件

window.addEventListener('afterprint', e => console.log('Ready for next print job'));

请注意,它的跨浏览器支持较低(FireFox 6+、IE)

<小时/>

MDN page还告诉我们,通过在 matchMedia('print') 上添加监听器,可以在基于 webkit 的浏览器中实现类似的效果,因此您可以通过为这些浏览器编写如下内容来填充它

window.matchMedia('print').addListener(mql => {
if (!mql.matches) {
window.dispatchEvent(new Event('afterprint'));
}
});

这应该适用于例如谷歌浏览器

关于JavaScript windows.print() 回调 - 确定打印作业何时完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37090065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com