Muchos navegadores
ahora admite window.matchMedia
. Esta API le permite detectar cuándo entran en vigencia las consultas de medios CSS (por ejemplo, rotar la pantalla o imprimir el documento). Para un enfoque multinavegador, combine window.matchMedia
con window.onbeforeprint
/window.onafterprint
.
Lo siguiente puede resultar en múltiples llamadas a beforePrint()
y afterPrint()
(por ejemplo, Chrome dispara al oyente cada vez que se regenera la vista previa de impresión
). Esto puede o no ser deseable según el procesamiento particular que esté realizando en respuesta a la impresión.
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);
}
Más:http://tjvantoll.com/2012/ 15/06/detección-de-solicitudes-de-impresión-con-javascript/