Wiele przeglądarek
teraz obsługuje window.matchMedia
. Ten interfejs API umożliwia wykrywanie, kiedy zapytania o media CSS wchodzą w życie (np. obracanie ekranu lub drukowanie dokumentu). Aby uzyskać podejście obejmujące wiele przeglądarek, połącz window.matchMedia
z window.onbeforeprint
/window.onafterprint
.
Poniższe informacje mogą skutkować wielokrotnymi wywołaniami funkcji beforePrint()
i afterPrint()
(na przykład Chrome uruchamia odbiornik za każdym razem, gdy podgląd wydruku jest regenerowany
). Może to być pożądane lub nie, w zależności od konkretnego przetwarzania, które wykonujesz w odpowiedzi na wydruk.
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);
}
Więcej:http://tjvantoll.com/2012/ 15.06.201/wykrywanie-żądania-druku-z-javascriptem/