0
내 웹 응용 프로그램의 기본은 많은 창백한 타일로 구성된지도입니다. B/W 프린터를 사용하여이 페이지를 인쇄 한 결과는 매우 끔찍합니다.JavaScript/HTML의 대비 레이어
지도에서 일부 레이어를 배치 할 가능성이 있습니까? 더 명암비가 높아 집니까?
(인쇄 모드에서 타일 교체는 좋지 않습니다.)
내 웹 응용 프로그램의 기본은 많은 창백한 타일로 구성된지도입니다. B/W 프린터를 사용하여이 페이지를 인쇄 한 결과는 매우 끔찍합니다.JavaScript/HTML의 대비 레이어
지도에서 일부 레이어를 배치 할 가능성이 있습니까? 더 명암비가 높아 집니까?
(인쇄 모드에서 타일 교체는 좋지 않습니다.)
두 경로가 있습니다.
<link rel="stylesheet" href="printstyle.css" media="print" />
하거나, 미디어 없음 선언과 일반 CSS 파일에
@media print {
#my-map-element {
display: none; /* just for an example */
}
}
다른 방법은 인쇄 이벤트가 발생하면 자바 스크립트 함수를 호출하는 것입니다 : 먼저 다음과 같이 인쇄 스타일 시트를 추가하고있다.
window.onbeforeprint = function() { /* ... */ }
당신이 자바 스크립트에서 인쇄 이벤트를 생성하는 경우, 다음과 같은 코드를 사용하여 브라우저 호환성 문제를 해결할 수 있습니다 그러나, 이것은 내가 아는까지로, 파이어 폭스 6 +와 IE에 의해 지원됩니다 :
(function(){
// make a copy of the native window.print
var _print = this.print;
// create a new window.print
this.print = function() {
// if `onbeforeprint` exists, call it.
if (this.onbeforeprint) onbeforeprint(this);
// call the original `window.print`.
_print();
// if `onafterprint` exists, call it.
if (this.onafterprint) onafterprint(this);
}
}())