2012-05-22 3 views
1

(그리스/탬퍼몬을 통과 함). 다음, 그것은 모든 항목을 나열하는 페이지에서 테이블을 잡고크롬 : 자바 스크립트 콘텐츠를 인쇄하지 않습니다.

$("#autoCheckOrder button").click (function() { 
    var newWin  = window.open (""); 
    newWin.document.write ("<!DOCTYPE html>"); 
    newWin.document.write("<html>"); 
    newWin.document.write("<head>"); 
    newWin.document.write("<title>"); 
    newWin.document.write("</title>"); 
    newWin.document.write("<style>"); 
    newWin.document.write("@media print { "); 
    newWin.document.write("body { "); 
    newWin.document.write("background-color: white;"); 
    newWin.document.write("width: 55mm;"); 
    newWin.document.write("position: absolute;"); 
    newWin.document.write("top: 0;"); 
    newWin.document.write("left: 0;"); 
    newWin.document.write("padding: 0px;"); 
    newWin.document.write("font-size: 14px;"); 
    newWin.document.write("line-height: 18px;"); 
    newWin.document.write("}"); 
    newWin.document.write("}"); 
    newWin.document.write("</style>"); 
    newWin.document.write("</head>"); 
    newWin.document.write("<body>"); 
    newWin.document.write (loanHTML); 
    newWin.document.write("</body>"); 
    newWin.document.write("</html>"); 
    if(newWin.print()) { 
     newWin.close(); 
    } else { 
     newWin.close(); 
    } 
}); 

'영수증'을 작성

다음은 크롬 베타 브라우저를 사용하여 키오스크에 대한 인쇄 기능입니다. 영수증이 인쇄됩니다. 이것은 잠시 동안 완벽하게 작동했지만 이제는 첫 번째 항목 만 인쇄합니다.

나는 전혀 결과 다음과 같은 시도 :

  • 페이지 나누기 - 후 사용 : 항상
  • 프린터
  • 종이를 다시 설치 위의 CSS 규칙
  • 과 사업부에서 영수증을 배치를 프린터의 축소 설정

미친 것은 모든 항목을 완벽하게 인쇄하는 데 사용된다는 것입니다. 그렇지 않습니다. 심지어 백업에서 스크립트를 다시 설치했습니다.

여기에서 어디로 가야할지 모릅니다. 모든 컨텐츠는 인쇄 미리보기에 표시되지만 첫 번째 항목 만 인쇄됩니다. '머리말과 꼬리말'설정은 상황을 악화 시키지만 좋지 않습니다.

UPDATE

나는 프린터로 전송되는 HTML을 변경하고 그것을 작동합니다. 여전히 유효하지만 인쇄 중인지 확실하지 않습니다. 인쇄가 중단되면 해결할 부분을 알게 될 것입니다. 의견을 보내 주셔서 감사합니다!

+0

왜 JavaScript에서이 작업을 수행하려고합니까? 이것은 잘못된 것입니다. –

+0

선택의 여지가 없습니다. 타사 내부 앱. – Bubnoff

답변

1

볼 수있는 유일한 이유는 loanHTML 변수가 비어 있거나 정의되지 않았기 때문입니다.

데모 다음 var loanHTML 라인 출력 http://jsfiddle.net/waitinforatrain/bMzUt/2/

코멘트 및 다시 실행, 당신은 내가 무슨 뜻인지 확인할 수 있습니다.

+0

Greasemonkey/Firefox에서 작동합니다. 그것은 테이블이며 모든 이유가 인쇄 미리보기에 표시되지만 Chrome에서 첫 번째 행만 인쇄됩니다. 영수증 페이지에 쓰기 전에 페이지의 숨겨진 div에 전체 글을 써야하는지 궁금합니다. – Bubnoff

+2

실제로 'loanHTML'이 잘못되었습니다. FF와 Chrome은 조작 된 코드를 다르게 처리하며 Chrome은 사물을 다르게 문자열 화합니다. 오작동하는 인쇄 페이지를 디스크에 저장하십시오. 그런 다음 Chrome에서 해당 파일을 열고 문제가 계속 발생하는지 확인합니다. 문제가있는 데모 파일이 나올 때까지 반복하십시오. 그런 다음 해당 파일을 http://pastebin.com/에 업로드하고 우리에게 알려주십시오. ... 또한, 정확히 *** *** 어떻게 loanHTML 정의/설정입니까? –

+0

나는 당신이 분명히 뭔가를하고 있다고 생각합니다. div는 테이블 내에서 꺼내 져서 외부 테이블 태그를 제거합니다. 처음에는 ... 작은 세부 사항을 즉시 잊어 버렸습니다. 아직도 그것이 왜 시작했는지 궁금합니다. – Bubnoff

관련 문제