Molti browser
ora supporta window.matchMedia
. Questa API ti consente di rilevare quando le media query CSS diventano effettive (ad esempio, ruotando lo schermo o stampando il documento). Per un approccio cross-browser, combina window.matchMedia
con window.onbeforeprint
/window.onafterprint
.
Le seguenti operazioni possono comportare più chiamate a beforePrint()
e afterPrint()
(ad esempio, Chrome attiva il listener ogni volta che l'anteprima di stampa viene rigenerata
). Questo può essere desiderabile o meno a seconda della particolare elaborazione che stai eseguendo in risposta alla stampa.
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);
}
Altro:http://tjvantoll.com/2012/ 15/06/rilevamento-richieste-di-stampa-con-javascript/