Для того, чтобы организовать вызов своего кода до и после отправки содержимого на печать, необходимо добавить следующий код:
$(window, context).load(function() {
// То, что выполнится перед открытием диалога печати.
var beforePrint = function() {
console.log('Functionality to run before printing.');
};
// То, что выполнится после закрытия диалога печати.
var afterPrint = function() {
console.log('Functionality to run after printing');
};
if (this.matchMedia) {
var mediaQueryList = this.matchMedia('print');
mediaQueryList.addListener(function(mql) {
if (mql.matches) {
beforPrint();
}
else {
afterPrint();
}
});
}
this.onbeforeprint = beforePrint;
this.onafterprint = afterPrint;
this.print();
});
По материалам статьи Detecting Print Requests with JavaScript