onbeforeprint() と onafterprint() に相当するクロスブラウザ
IE は onbeforeprint() と onafterprint() の機能を提供しますが、この機能はすべてのブラウザでネイティブにサポートされているわけではありません。クロスブラウザー ソリューションの場合は、window.matchMedia と window.onbeforeprint/window.onafterprint の利用を検討してください。
window.matchMedia を使用すると
window.matchMedia を使用して検出できます。 CSS メディア クエリがアクティブになったとき。印刷の場合は、メディアクエリ「print」を使用できます。イベント リスナーを window.matchMedia('print') オブジェクトに追加して、印刷の前後に関数を実行します。
if ('matchMedia' in window) { window.matchMedia('print').addListener(function(media) { if (media.matches) { beforePrint(); } else { $(document).one('mouseover', afterPrint); } }); }
この手法を使用すると、beforePrint() と afterPrint() が複数回呼び出される可能性があることに注意してください。 、ブラウザの動作に応じて異なります。
使用window.onbeforeprint/window.onafterprint
IE と Firefox は、window.onbeforeprint イベントと window.onafterprint イベントをサポートします。 jQuery を使用してこれらのイベントをリッスンします:
$(window).on('beforeprint', beforePrint); $(window).on('afterprint', afterPrint);
実装
このクロスブラウザー アプローチの詳細については、https://tjvantoll.com/2012 を参照してください。 /06/15/javascript による印刷リクエストの検出/
以上が`onbeforeprint()` と `onafterprint()` のブラウザ間の互換性を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。