Mnoho prohlížečů
nyní podporuje window.matchMedia
. Toto rozhraní API vám umožňuje zjistit, kdy se dotazy na média CSS projeví (např. otočení obrazovky nebo tisk dokumentu). Pro přístup napříč prohlížeči zkombinujte window.matchMedia pomocí window.onbeforeprint /window.onafterprint .
Následující může způsobit více volání beforePrint() a afterPrint() (například Chrome spustí posluchače pokaždé, když se znovu vygeneruje náhled tisku
). To může nebo nemusí být žádoucí v závislosti na konkrétním zpracování, které provádíte v reakci na tisk.
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);
}
Více:https://tjvantoll.com/2012/ 06/15/detecting-print-requests-with-javascript/