Jav*_*ter 53 javascript jquery
在我的应用程序中,我尝试打印出用户的凭证页面,我用过:
var htm ="<div>Voucher Details</div>";
$('#divprint').html(htm);
window.setTimeout('window.print()',2000);
Run Code Online (Sandbox Code Playgroud)
' divprint
' div
在我的页面中存储有关凭证的信息.
它工作正常,弹出打印页面.但是一旦用户点击' print
'或' close
'弹出窗口,我想进一步继续申请.
例如,我想在弹出窗口关闭后将用户重定向到另一个页面:
window.application.directtoantherpage();//a function which direct user to other page
Run Code Online (Sandbox Code Playgroud)
如何确定弹出打印窗口是关闭还是打印完成?
Ada*_*dam 89
在FireFox和Internet Explorer中,您可以侦听后期打印事件.
https://developer.mozilla.org/en-US/docs/Web/API/window.onafterprint
window.onafterprint = function(){
console.log("Printing completed...");
}
Run Code Online (Sandbox Code Playgroud)
可以使用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;
}());
Run Code Online (Sandbox Code Playgroud)
资料来源:http://tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/
小智 53
在铬(V.35.0.1916.153米)试试这个:
function loadPrint() {
window.print();
setTimeout(function () { window.close(); }, 100);
}
Run Code Online (Sandbox Code Playgroud)
对我来说很棒.用户完成打印对话框后,它将关闭窗口.
小智 9
兼容chrome,firefox,opera,Internet Explorer
注意:需要jQuery.
<script>
window.onafterprint = function(e){
$(window).off('mousemove', window.onafterprint);
console.log('Print Dialog Closed..');
};
window.print();
setTimeout(function(){
$(window).on('mousemove', window.onafterprint);
}, 1);
</script>
Run Code Online (Sandbox Code Playgroud)
window.print 在 chrome 上同步运行。在你的控制台中尝试一下
window.print();
console.log("printed");
Run Code Online (Sandbox Code Playgroud)
除非用户关闭(取消/保存/打印)打印对话框,否则不会显示“已打印”。
我不确定 IE 或 Firefox 稍后会检查并更新
归档时间: |
|
查看次数: |
111892 次 |
最近记录: |