Många webbläsare
stöder nu window.matchMedia
. Detta API låter dig upptäcka när CSS-mediefrågor träder i kraft (t.ex. rotera skärmen eller skriva ut dokumentet). Kombinera window.matchMedia
för att använda flera webbläsare med window.onbeforeprint
/window.onafterprint
.
Följande kan resultera i flera anrop till beforePrint()
och afterPrint()
(till exempel Chrome aktiverar lyssnaren varje gång förhandsgranskningen återskapas
). Detta kan eller kanske inte är önskvärt beroende på vilken speciell bearbetning du gör som svar på utskriften.
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);
}
Mer:http://tjvantoll.com/2012/ 06/15/detecting-print-requests-with-javascript/