Maison > Article > base de données > Comment gérer les événements d'impression dans les navigateurs sans onbeforeprint() et onafterprint() ?
Les événements onbeforeprint() et onafterprint() sont pris en charge par Internet Explorer, mais ils manque de compatibilité entre navigateurs. Cet article explore une approche alternative qui utilise des technologies plus modernes et largement prises en charge.
Pour implémenter une solution indépendante du navigateur pour intercepter les événements d'impression, envisagez d'utiliser une combinaison de l'API window.matchMedia et window.onbeforeprint ou window. après impression. window.matchMedia vous permet de détecter quand des requêtes multimédias CSS spécifiques, telles que l'impression, sont satisfaites.
Voici un exemple d'extrait de code qui illustre cette approche :
<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>
En combinant matchMedia et onbeforeprint /onafterprint, cette solution fournit un moyen multi-navigateur de détecter et de répondre aux événements d'impression. Notez que plusieurs appels à beforePrint() et afterPrint() peuvent se produire dans certains navigateurs, en fonction du comportement d'impression.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!