在我的应用程序中,我尝试为用户打印出凭证页面,如下所示:
var htm ="<div>Voucher Details</div>"; $('#divprint').html(htm); window.setTimeout('window.print()',2000);
“ divprint”是div我的页面中的,用于存储有关凭证的信息。
divprint
div
它有效,并且打印页面弹出。但是,我希望用户一旦在浏览器的弹出式打印对话框中单击“ print”或“ close”,便可以升级该应用程序。
print
close
例如,我想在弹出窗口关闭后将用户重定向到另一个页面:
window.application.directtoantherpage();//a function which direct user to other page
如何确定何时关闭弹出的打印窗口或打印完成?
在FireFox和Internet Explorer中,您可以侦听打印后事件。
window.onafterprint = function(){ console.log("Printing completed..."); }
可能可以使用window.matchMedia在其他浏览器中获得此功能。
(function() { var beforePrint = function() { console.log('Functionality to run before printing.'); }; var afterPrint = function() { console.log('Functionality to run after printing'); }; if (window.matchMedia) { var mediaQueryList = window.matchMedia('print'); mediaQueryList.addListener(function(mql) { if (mql.matches) { beforePrint(); } else { afterPrint(); } }); } window.onbeforeprint = beforePrint; window.onafterprint = afterPrint; }());