Maison > base de données > tutoriel mysql > Comment obtenir la compatibilité entre navigateurs pour « onbeforeprint() » et « onafterprint() » ?

Comment obtenir la compatibilité entre navigateurs pour « onbeforeprint() » et « onafterprint() » ?

Linda Hamilton
Libérer: 2024-11-03 11:13:03
original
892 Les gens l'ont consulté

How to Achieve Cross-Browser Compatibility for `onbeforeprint()` and `onafterprint()`?

Équivalent multi-navigateur pour onbeforeprint() et onafterprint()

Bien qu'IE offre les fonctionnalités de onbeforeprint() et onafterprint(), cette fonctionnalité n'est pas supportée nativement dans tous les navigateurs. Pour une solution multi-navigateurs, envisagez d'utiliser window.matchMedia et window.onbeforeprint/window.onafterprint.

L'utilisation de window.matchMedia

window.matchMedia vous permet de détecter lorsqu'une requête multimédia CSS devient active. Dans le cas de l'impression, la requête média 'print' peut être utilisée. Ajoutez un écouteur d'événement à l'objet window.matchMedia('print') pour exécuter une fonction avant et après l'impression :

if ('matchMedia' in window) {
    window.matchMedia('print').addListener(function(media) {
        if (media.matches) {
            beforePrint();
        } else {
            $(document).one('mouseover', afterPrint);
        }
    });
}
Copier après la connexion

Notez que cette technique peut entraîner plusieurs appels à beforePrint() et afterPrint() , en fonction du comportement du navigateur.

Utilisation de window.onbeforeprint/window.onafterprint

IE et Firefox prennent en charge les événements window.onbeforeprint et window.onafterprint. Écoutez ces événements avec jQuery :

$(window).on('beforeprint', beforePrint);
$(window).on('afterprint', afterPrint);
Copier après la connexion

Mise en œuvre

Vous pouvez trouver plus d'informations sur cette approche multi-navigateurs sur https://tjvantol.com/2012 /06/15/detecting-print-requests-with-javascript/

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal