跨瀏覽器相當於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中文網其他相關文章!