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:http://tjvantoll.com/2012/ 06/15/detecting-print-requests-with-javascript/