2012-02-28 2 views
0

이미 소스에 인쇄 된 window.print();을 사용하는 페이지가 있습니다.window.print()를 중단하는 방법;

하지만 특정 상황에서 링크 트리거를 통해이 명령을 무효화하거나 중단하고 싶습니다. 기본적으로 페이지를 시작하기 위해 무언가가 클릭되면 인쇄 대화 상자를 시작하지 않도록 페이지에 지시합니다. 어쩌면 window.close();와 하지만 페이지가 이미

window.print();를 인쇄 때문에 저를 명확히하기 위해 허용, 넣어 아무 생각 : 페이지를 'MYPAGE는'window.print(); 소스에 인쇄했다.

  1. 링크 A는 새 페이지 'MYPAGE'를 열고 인쇄 대화 상자를 시작합니다. 예상했다.
  2. 링크 B는 다른 용도로 동일한 페이지 ('MYPAGE')를 열려고하지만 인쇄 대화 상자는 원하지 않습니다.

jQuery로 가능합니까?

+0

감사합니다. 답변을 제공 할 수 있도록 대답을 제공하지 않으셔도됩니다 :) 감사합니다. – swan

+1

가능한 경우 URL 매개 변수를 전달하십시오. 링크 A는'? print = 1'의 끝 부분에 링크 B가'print' arg를 가지지 않을 수도 있습니다. 그렇지 않으면 페이지가 이미 인쇄를 시도한 쿠키를 저장하고 B를 클릭하면 쿠키를 검사하고'print()'를 건너 뜁니다. – mpen

+0

좋은 생각, 고마워,하지만 문제는 window.print(); 명령은 이미 일부 모듈에 의해 인쇄되거나 하드 코드되어 있으며 drupal에서 일반적으로 변경되는 방법을 통해 변경할 수있는 방법이 없습니다. 그것의 모든 또는 아무것도 죽은 변수를 'sendtoprint'참조로 전달되지 않습니다. 내가 해킹하지 않으면 안된다. – swan

답변

1

URL에 변수를 전달하고 을 사용하여 URL에 인쇄가 있는지 확인하고 조건을 사용하여 차단하십시오.

또는 대신에 당신은 당신이 해당 페이지에 다시 window.print() 명령을 필요로하지 않을 것으로 예상하는 경우, 나중에 차단, 당신은 당신의 window.print() 전에 window.print = function() { }을 할 수 있으며 인쇄가 있는지 여부에 따라 어떤 (하지 않을 것이다 쿼리 문자열)

관련 문제