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 :http://tjvantoll.com/2012/ 15/06/detecting-print-requests-with-javascript/