Druckereignisse in browserübergreifenden Anwendungen erkennen
Obwohl onbeforeprint() und onafterprint() in Nicht-IE-Browsern veraltet sind, gibt es ist eine Möglichkeit, mit window.matchMedia und window.onbeforeprint/window.onafterprint eine ähnliche Funktionalität zu erreichen.
Verwendung von window.matchMedia
Viele moderne Browser unterstützen jetzt window.matchMedia , was die Erkennung von Änderungen in CSS-Medienabfragen ermöglicht. Durch die Kombination von window.matchMedia mit window.onbeforeprint/window.onafterprint ist es möglich, einen browserübergreifenden Ansatz zur Erkennung von Druckereignissen zu erstellen.
Ereignisrückruf
Der Die folgende Funktion kann als Ereignisrückruf für window.matchMedia verwendet werden:
<code class="javascript">window.matchMedia('print').addListener(function(media) { if (media.matches) { // Print is starting } else { // Print has ended } });</code>
Legacy IE und Firefox-Unterstützung
Für Browser, die window.matchMedia nicht unterstützen, Es ist weiterhin möglich, direkt auf die Ereignisse onbeforeprint und onafterprint zu lauschen:
<code class="javascript">$(window).on('beforeprint', beforePrint); $(window).on('afterprint', afterPrint);</code>
Hinweis: Wie in der bereitgestellten Antwort erwähnt, ist es wichtig zu wissen, dass der window.matchMedia-Listener kann in manchen Browsern während eines einzelnen Druckauftrags mehrmals ausgelöst werden. Dies kann sich auf die Ausführung Ihrer Event-Handler auswirken. Berücksichtigen Sie dieses Verhalten daher beim Entwerfen Ihrer Logik.
Das obige ist der detaillierte Inhalt vonWie erkennt man Druckereignisse in browserübergreifenden Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!