Banyak browser
sekarang mendukung window.matchMedia
. API ini memungkinkan Anda mendeteksi saat kueri media CSS mulai berlaku (mis., memutar layar atau mencetak dokumen). Untuk pendekatan lintas-browser, gabungkan window.matchMedia
dengan window.onbeforeprint
/window.onafterprint
.
Berikut ini dapat mengakibatkan beberapa panggilan ke beforePrint()
dan afterPrint()
(misalnya, Chrome mengaktifkan listener setiap kali pratinjau cetak dibuat ulang
). Ini mungkin diinginkan atau tidak, tergantung pada pemrosesan tertentu yang Anda lakukan sebagai respons terhadap cetakan.
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);
}
Lebih lanjut:http://tjvantoll.com/2012/ 15/06/detecting-print-requests-with-javascript/