>  기사  >  데이터 베이스  >  'onbeforeprint()' 및 'onafterprint()'에 대한 브라우저 간 호환성을 달성하는 방법은 무엇입니까?

'onbeforeprint()' 및 'onafterprint()'에 대한 브라우저 간 호환성을 달성하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-03 11:13:03795검색

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 미디어 쿼리가 활성화될 때. 인쇄의 경우 미디어 쿼리 '인쇄'를 사용할 수 있습니다. 인쇄 전후에 함수를 실행하려면 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/감지-인쇄-요청-with-javascript/

위 내용은 'onbeforeprint()' 및 'onafterprint()'에 대한 브라우저 간 호환성을 달성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.