인터넷 화면을 프리터 할 때 오른쪽 마우스 버튼을 눌러 인쇄 기능을 이용합니다.
이 인쇄 기능을 호출 하는 자바스크립트 함수가 windows.print() 입니다.
그런데 화면의 특정부분만 인쇄 할 수 있도록 기능을 추가 하고 싶은 경우가 있습니다.
또는 화면의 구조 및 특성으로 인해 인쇄를 하면 오류가 발생하는 경우 오류가 발생하지 않도록 제어하길 원하는 경우가 있습니다.
그런 경우 간다하게 사용 하는 방법 입니다.
var printDiv;
var initBody;
function printDiv2 (divId) {
printDiv = document.all[divId];
window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
window.print();
}
function beforePrint(){
initBody = document.body.innerHTML;
document.body.innerHTML = printDiv.innerHTML;
}
function afterPrint(){
document.body.innerHTML = initBody;
}
방법은 간단합니다.
프린터 함수를 호출하기 전 document.body.innerHTML 값을 프리터를 원하는 영역(Div ID) 의 innerHTML 값으로 입력 한 뒤 프리터가 끝나면 기존 innerHTML로 변경 해 주는 것 입니다.
기존 구현되어 있던 출력기능이 오류가 발생하여 작업 후 올려 봅니다.
'프로그래밍 > HTML, CSS, JavaScript' 카테고리의 다른 글
자바스크립트 replace 문자 모두 바꾸기 - 예제/실습 (5) | 2018.09.28 |
---|---|
HTML/CSS 이미지효과 - 마우스 오버시에 텍스트 보이기 예제소스 (6) | 2018.08.01 |
체크박스 클릭 시 해당 테이블 줄 배경색 변경하기 (6) | 2018.07.25 |
[HTML/CSS] DIV 중앙, 가운데 배치하기 (6) | 2018.07.01 |
[JavaScript] 펼쳐지는 세로 트리메뉴 쉽게 만들기 (3) | 2018.06.25 |