Équivalents multi-navigateurs pour onbeforeprint() et onafterprint() d'IE
Les développeurs Web sont souvent confrontés au défi d'implémenter la fonctionnalité d'impression sur plusieurs navigateurs . Alors qu'Internet Explorer fournit les événements pratiques onbeforeprint() et onafterprint(), d'autres navigateurs nécessitent une approche plus robuste.
Window.matchMedia pour la détection entre navigateurs
Modern les navigateurs comme Chrome, Firefox et Internet Explorer 10 prennent en charge window.matchMedia. Cette API permet de détecter les requêtes multimédias CSS prenant effet, telles que l'impression. En combinant window.matchMedia avec window.onbeforeprint/window.onafterprint, une solution multi-navigateurs peut être obtenue.
Écouteurs d'événements pour la détection d'impression
Utilisation du code suivant extrait de code, les développeurs peuvent détecter les événements d'impression dans la plupart des principaux navigateurs :
<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>
Supplémentaire Ressources
Pour plus d'informations et des exemples de code, reportez-vous à la ressource suivante :
En tirant parti window.matchMedia et les écouteurs d'événements, les développeurs Web peuvent implémenter une fonctionnalité d'impression compatible avec un large éventail de navigateurs, garantissant une expérience d'impression transparente pour les utilisateurs.
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!