Как выполнить js код до и после печати страницы

Для того, чтобы организовать вызов своего кода до и после отправки содержимого на печать, необходимо добавить следующий код:

$(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

Комментарии (0)