【Web前端问题】调用window.print()方法,如何获取打印或者取消的状态?

项目上需要使用打印功能,使用了pdf.js的插件;
点击打印后会调用window.print()方法,随后出现浏览器自带的打印预览页面,并有打印按钮和取消按钮,如何获取到底是点击了打印按钮还是取消按钮?以便于执行打印后的回调函数。

打印预览的页面如下图所示,该页面是浏览器自带的,打印和取消按钮触发的方法也无法从外部获取。

图片描述

回答:

正好遇到这个问题, 解决放下如下

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;

回答:

兄弟,你找到方法了吗

回答:

点击触发事件 -> 调起浏览器打印。如果在调起浏览器打印 前立即触发其他点击事件,这个事件会被挂起,当点击取消打印按钮时,这个事件会被立即执行。

回答:

2020前来考古
var pwin = window.open(); //打开一个新窗口
pwin.document.write(printStr); //写入打印内容
pwin.document.close(); //额...这个我也不知道什么意思 哈哈
pwin.print(); //调用打印机
pwin.close() //这个点取消和打印就会关闭新打开的窗口

回答:

哥们,你找到方法了吗

回答:

兄弟,你找到方法了吗

回答:

兄弟,你找到方法了吗

回答:

兄弟,你找到方法了吗

回答:

兄弟,你找到方法了吗

回答:

这个问题有得到解决方案吗

以上是 【Web前端问题】调用window.print()方法,如何获取打印或者取消的状态? 的全部内容, 来源链接: utcz.com/a/143605.html

回到顶部