Heim >Datenbank >MySQL-Tutorial >Wie erreicht man die Cross-Browser-Kompatibilität für „onbeforeprint()' und „onafterprint()'?

Wie erreicht man die Cross-Browser-Kompatibilität für „onbeforeprint()' und „onafterprint()'?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 11:13:03835Durchsuche

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

Browserübergreifendes Äquivalent für onbeforeprint() und onafterprint()

Während IE die Funktionalität von onbeforeprint() und onafterprint() bietet, Diese Funktionalität wird nicht von allen Browsern nativ unterstützt. Erwägen Sie für eine browserübergreifende Lösung die Verwendung von window.matchMedia und window.onbeforeprint/window.onafterprint.

Mit window.matchMedia

window.matchMedia ermöglicht Ihnen die Erkennung wenn eine CSS-Medienabfrage aktiv wird. Im Falle des Druckens kann die Medienabfrage „Drucken“ verwendet werden. Fügen Sie dem window.matchMedia('print')-Objekt einen Ereignis-Listener hinzu, um eine Funktion vor und nach dem Drucken auszuführen:

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

Beachten Sie, dass diese Technik zu mehreren Aufrufen von beforePrint() und afterPrint() führen kann. , abhängig vom Verhalten des Browsers.

Verwendung von window.onbeforeprint/window.onafterprint

IE und Firefox unterstützen die Ereignisse window.onbeforeprint und window.onafterprint. Hören Sie sich diese Ereignisse mit jQuery an:

$(window).on('beforeprint', beforePrint);
$(window).on('afterprint', afterPrint);

Implementierung

Weitere Informationen zu diesem browserübergreifenden Ansatz finden Sie unter https://tjvantoll.com/2012 /06/15/detecting-print-requests-with-javascript/

Das obige ist der detaillierte Inhalt vonWie erreicht man die Cross-Browser-Kompatibilität für „onbeforeprint()' und „onafterprint()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn