Muitos navegadores agora suporta
window.matchMedia
. Essa API permite detectar quando as consultas de mídia CSS entram em vigor (por exemplo, girar a tela ou imprimir o documento). Para uma abordagem entre navegadores, combine window.matchMedia
com window.onbeforeprint
/window.onafterprint
. O seguinte pode resultar em várias chamadas para
beforePrint()
e afterPrint()
(por exemplo, Chrome aciona o listener sempre que a visualização de impressão é gerada novamente
). Isso pode ou não ser desejável dependendo do processamento específico que você está fazendo em resposta à impressão. 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);
}
Mais:http://tjvantoll.com/2012/ 15/06/detecting-print-requests-with-javascript/