Acara onbeforeprint() dan onafterprint() disokong oleh Internet Explorer, tetapi ia kekurangan keserasian silang pelayar. Artikel ini meneroka pendekatan alternatif yang menggunakan teknologi yang lebih moden dan disokong secara meluas.
Untuk melaksanakan penyelesaian agnostik penyemak imbas untuk memintas acara cetakan, pertimbangkan untuk menggunakan gabungan API window.matchMedia dan window.onbeforeprint atau window. onafterprint. window.matchMedia membolehkan anda mengesan apabila pertanyaan media CSS tertentu, seperti cetakan, berpuas hati.
Berikut ialah coretan kod contoh yang menggambarkan pendekatan ini:
<code class="javascript">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); }</code>
Dengan menggabungkan matchMedia dan onbeforeprint /onafterprint, penyelesaian ini menyediakan cara merentas penyemak imbas untuk mengesan dan bertindak balas terhadap acara cetakan. Ambil perhatian bahawa berbilang panggilan ke beforePrint() dan afterPrint() mungkin berlaku dalam sesetengah penyemak imbas, bergantung pada tingkah laku cetakan.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Peristiwa Pencetakan Merentasi Pelayar Tanpa onbeforeprint() dan onafterprint()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!