>데이터 베이스 >MySQL 튜토리얼 >크로스 브라우저 애플리케이션에서 인쇄 이벤트를 감지하는 방법은 무엇입니까?

크로스 브라우저 애플리케이션에서 인쇄 이벤트를 감지하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-03 15:22:02292검색

How to Detect Print Events in Cross-Browser Applications?

크로스 브라우저 애플리케이션에서 인쇄 이벤트 감지

IE가 아닌 브라우저에서는 onbeforeprint() 및 onafterprint()가 지원 중단되었음에도 불구하고 window.matchMedia 및 window.onbeforeprint/window.onafterprint를 사용하여 유사한 기능을 구현하는 방법입니다.

window.matchMedia 사용

이제 많은 최신 브라우저가 window.matchMedia를 지원합니다. , CSS 미디어 쿼리의 변경 사항을 감지할 수 있습니다. window.matchMedia를 window.onbeforeprint/window.onafterprint와 결합하면 브라우저 간 접근 방식으로 인쇄 이벤트를 감지할 수 있습니다.

이벤트 콜백

다음 함수는 window.matchMedia에 대한 이벤트 콜백으로 사용될 수 있습니다:

<code class="javascript">window.matchMedia('print').addListener(function(media) {
    if (media.matches) {
        // Print is starting
    } else {
        // Print has ended
    }
});</code>

레거시 IE 및 Firefox 지원

window.matchMedia를 지원하지 않는 브라우저의 경우, onbeforeprint 및 onafterprint 이벤트를 직접 수신할 수 있습니다.

<code class="javascript">$(window).on('beforeprint', beforePrint);
$(window).on('afterprint', afterPrint);</code>

참고: 제공된 응답에서 언급했듯이 window.matchMedia 리스너를 인식하는 것이 중요합니다. 일부 브라우저에서는 단일 인쇄 작업 중에 여러 번 실행될 수 있습니다. 이는 이벤트 핸들러 실행에 영향을 미칠 수 있으므로 로직을 설계할 때 이 동작을 고려하십시오.

위 내용은 크로스 브라우저 애플리케이션에서 인쇄 이벤트를 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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