Veel browsers
nu ondersteuning voor window.matchMedia
. Met deze API kunt u detecteren wanneer CSS-mediaquery's van kracht worden (bijvoorbeeld door het scherm te draaien of het document af te drukken). Voor een cross-browser benadering, combineer window.matchMedia
met window.onbeforeprint
/window.onafterprint
.
Het volgende kan resulteren in meerdere aanroepen van beforePrint()
en afterPrint()
(bijvoorbeeld Chrome activeert de luisteraar telkens wanneer het afdrukvoorbeeld opnieuw wordt gegenereerd
). Dit kan al dan niet wenselijk zijn, afhankelijk van de specifieke verwerking die u uitvoert als reactie op de afdruk.
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);
}
Meer:http://tjvantoll.com/2012/ 15/06/detecting-print-requests-with-javascript/