我想检测是否弹出window.print()进行预览时是否单击了“打印/取消”按钮。
如果单击打印,我需要用一些数据更新数据库。
就像打印按钮上的回调函数。
我已经进行了一些研究,但仍然找不到任何答案,如果还有其他替代方法,请提出建议。 非常感谢。
我已经尝试了以下方法,但是它不起作用,window.onafterprint函数将在window.print()加载后触发,这意味着用户仍可以关闭打印预览而不进行打印。
(function(){
var beforePrint = function () {
alert('Functionality to run before printing.');
};
var afterPrint = function () {
alert('Functionality to run after printing');
};
if (window.matchMedia) {
var mediaQueryList = window.matchMedia('print');
mediaQueryList.addListener(function (mql) {
//alert($(mediaQueryList).html());
if (mql.matches) {
beforePrint();
} else {
afterPrint();
}
});
}
window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
}());