在跨瀏覽器應用程式中偵測列印事件
儘管onbeforeprint() 和onafterprint() 在非IE 瀏覽器中已被棄用,但仍有是使用window.matchMedia 和window.onbeforeprint/window.onafterprint 實現類似功能的一種方法。
使用 window.matchMedia
許多現代瀏覽器現在都支援 window.matchMedia ,它允許檢測 CSS 媒體查詢的變化。透過將 window.matchMedia 與 window.onbeforeprint/window.onafterprint 結合,可以建立跨瀏覽器的方法來偵測列印事件。
事件回呼
The以下函數可用作window.matchMedia 的事件回調:
<code class="javascript">window.matchMedia('print').addListener(function(media) { if (media.matches) { // Print is starting } else { // Print has ended } });</code>
舊版IE 和Firef
對於不支援window.matchMedia 的瀏覽器,仍然可以直接偵聽onbeforeprint 和onafterprint 事件:
<code class="javascript">$(window).on('beforeprint', beforePrint); $(window).on('afterprint', afterPrint);</code>
注意:
注意: 如提供的回應中提到的,重要的是要注意window.matchMedia 偵聽器在某些瀏覽器中,在單一列印作業期間可能會多次觸發。這可能會影響事件處理程序的執行,因此在設計邏輯時請考慮這種行為。以上是如何偵測跨瀏覽器應用程式中的列印事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!