Много браузъри
вече поддържа window.matchMedia
. Този API ви позволява да откривате кога CSS медийните заявки влизат в сила (например завъртане на екрана или отпечатване на документа). За подход между браузъри комбинирайте window.matchMedia
с window.onbeforeprint
/window.onafterprint
.
Следното може да доведе до множество извиквания на beforePrint()
и afterPrint()
(например Chrome задейства слушателя всеки път, когато визуализацията за печат се регенерира
). Това може или не е желателно в зависимост от конкретната обработка, която извършвате в отговор на отпечатването.
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);
}
Още:http://tjvantoll.com/2012/ 15/06/detecting-print-requests-with-javascript/