Cross-Browser Equivalent for onbeforeprint() and onafterprint()
Sedangkan IE menawarkan fungsi onbeforeprint() dan onafterprint(), fungsi ini tidak disokong secara asli dalam semua penyemak imbas. Untuk penyelesaian silang penyemak imbas, pertimbangkan untuk menggunakan window.matchMedia dan window.onbeforeprint/window.onafterprint.
Menggunakan window.matchMedia
window.matchMedia membolehkan anda mengesan apabila pertanyaan media CSS menjadi aktif. Dalam kes percetakan, pertanyaan media 'cetak' boleh digunakan. Tambahkan pendengar acara pada objek window.matchMedia('print') untuk melaksanakan fungsi sebelum dan selepas mencetak:
if ('matchMedia' in window) { window.matchMedia('print').addListener(function(media) { if (media.matches) { beforePrint(); } else { $(document).one('mouseover', afterPrint); } }); }
Ambil perhatian bahawa teknik ini mungkin menghasilkan berbilang panggilan ke beforePrint() dan afterPrint() , bergantung pada tingkah laku penyemak imbas.
Menggunakan window.onbeforeprint/window.onafterprint
IE dan Firefox menyokong peristiwa window.onbeforeprint dan window.onafterprint. Dengar acara ini dengan jQuery:
$(window).on('beforeprint', beforePrint); $(window).on('afterprint', afterPrint);
Pelaksanaan
Anda boleh mendapatkan maklumat lanjut tentang pendekatan silang pelayar ini di https://tjvantoll.com/2012 /06/15/mengesan-permintaan-cetak-dengan-javascript/
Atas ialah kandungan terperinci Bagaimana untuk Mencapai Keserasian Silang Pelayar untuk `onbeforeprint()` dan `onafterprint()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!