イベント onbeforeprint() および onafterprint() は Internet Explorer でサポートされていますが、ブラウザ間の互換性がありません。この記事では、より最新で広くサポートされているテクノロジを利用する代替アプローチについて説明します。
印刷イベントをインターセプトするためのブラウザーに依存しないソリューションを実装するには、window.matchMedia API と window.onbeforeprint または window の組み合わせの使用を検討してください。アフタープリントについて。 window.matchMedia を使用すると、print などの特定の CSS メディア クエリが満たされたことを検出できます。
このアプローチを示すサンプル コード スニペットは次のとおりです。
<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>
matchMedia と onbeforeprint を組み合わせることで、 /onafterprint を使用すると、このソリューションは、ブラウザーを超えて印刷イベントを検出して応答する方法を提供します。印刷動作に応じて、一部のブラウザでは beforePrint() と afterPrint() への複数の呼び出しが発生する可能性があることに注意してください。
以上がonbeforeprint() と onafterprint() を使用せずにブラウザ間で印刷イベントを処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。