De nombreux navigateurs
prend désormais en charge window.matchMedia
. Cette API vous permet de détecter le moment où les requêtes média CSS entrent en vigueur (par exemple, la rotation de l'écran ou l'impression du document). Pour une approche multi-navigateur, combinez window.matchMedia avec window.onbeforeprint /window.onafterprint .
Ce qui suit peut entraîner plusieurs appels à beforePrint() et afterPrint() (par exemple, Chrome déclenche l'écouteur chaque fois que l'aperçu avant impression est régénéré
). Cela peut être souhaitable ou non selon le traitement particulier que vous effectuez en réponse à l'impression.
if ('matchMedia' in window) {
// Chrome, Firefox, and IE 10 support mediaMatch listeners
window.matchMedia('print').addListener(function(media) {
if (media.matches) {
beforePrint();
} else {
// Fires immediately, so wait for the first mouse movement
$(document).one('mouseover', afterPrint);
}
});
} else {
// IE and Firefox fire before/after events
$(window).on('beforeprint', beforePrint);
$(window).on('afterprint', afterPrint);
}
Plus :https://tjvantoll.com/2012/ 15/06/detecting-print-requests-with-javascript/