首頁 > 資料庫 > mysql教程 > 如何實作`onbeforeprint()`和`onafterprint()`的跨瀏覽器相容性?

如何實作`onbeforeprint()`和`onafterprint()`的跨瀏覽器相容性?

Linda Hamilton
發布: 2024-11-03 11:13:03
原創
823 人瀏覽過

How to Achieve Cross-Browser Compatibility for `onbeforeprint()` and `onafterprint()`?

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板