Espero poder encontrar ayuda aquí, estoy trabajando en un proyecto html/js, jquery y tratando de capturar el evento afterprint y está funcionando bien, el problema es que tengo dos páginas separadas y las dos tienen una necesidad de impresión en ellas , así que cuando cierro la vista previa de impresión en una página, activa ambos eventos de las dos páginas. esta es la función que usé en las dos páginas:
(function () { var globalUrl = '@Url.Content("~/")'; var afterPrint = function () { setTimeout(function () { $.confirm({ title: 'Confirmation', content: "<div><span class='printing-message'>" + "L'impression doit être collée sur votre colis" + "</span></div>", backgroundDismiss: false, backgroundDismissAnimation: 'shake', buttons: { OK: { action: function () { this.close(); window.location = globalUrl + "Colis/MyDeliveryRequests"; } } } }); }, 500); }; if (window.matchMedia) { var mediaQueryList = window.matchMedia('print'); mediaQueryList.addListener(function (mql) { if (!mql.matches) { afterPrint(); } }); } window.onafterprint = afterPrint; }());