检测窗口打印是否确认或取消。

5

你好,我有一段打印代码,我使用window.open()来弹出包含所有打印信息的弹窗,然后使用kiosk-printing进行自动打印,但是有时候会出现失败的情况,比如在chrome中已经有其他实例打开时,我需要手动确认每一次打印,所以我想知道是否存在一种方法可以确认客户端在打印对话框中按下了哪个按钮(打印或取消)。

 var printWindow = window.open(windowUrl, windowName, 'left=500,top=100,width=10,height=10');
             printWindow.document.body.innerHTML = HTL;
             printWindow.document.close();
             printWindow.focus();
             printWindow.print(); // maybe here return if user press print or cancel

           // if(ConfirmPrint=="print"){
            // alert('Print Button');
            //}else{
           //    alert('Cancel Button');
           //   }

这个可能会对你有所帮助:https://dev59.com/qGMl5IYBdhLWcg3wiXZ7 - J Santosh
2
都快2021年了,我还是不知道我的用户是否点击了一个按钮!? - user12163165
1个回答

2
很遗憾,window.print()不返回任何值。因此,无法知道用户是单击了保存还是取消。更多的是由操作系统来监视其中发生了什么。但是,有两个事件处理程序:window.onbeforeprint和window.onafterprint。
afterprint事件在用户打印或中止打印对话框后触发。但同样地,这只是一个简单的事件,并没有告诉您用户选择了哪个选项。而且这两个事件的支持并不好。

该问题仅受Firefox和IE支持。 - jearca
是的,恐怕是这样。我们可以简单地说,Webkit不支持这两个事件。 - Gökay Gürcan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接