집 >데이터 베이스 >MySQL 튜토리얼 >크로스 브라우저 애플리케이션에서 인쇄 이벤트를 감지하는 방법은 무엇입니까?
크로스 브라우저 애플리케이션에서 인쇄 이벤트 감지
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!