2011-08-20 4 views
2

내 Aspx 웹 페이지를 인쇄 할 때 다음 코드를 사용하지만 Internet Explorer에서 "스택 오버 플로우 : 0"오류 메시지가 나타나고 fire fox에서 어떤 일도 일어나지 않습니다. 무엇이 잘못 되었나요?Window.print()가 인쇄되지 않습니다.

<head> 
<script language="javascript" type="text/javascript"> 
     function print() { 
      window.print(); 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
<div class="toolbar" style="width:400px"> 
      <ul> 
<li> 
       <img alt="" src="../../../CssImages/printer_128.png" id="ImgPrint" width="20px" style="cursor:pointer" onclick="print()"/> 
       </li> 
    </ul> 

답변

6

함수 :

function print() { 
    window.print(); // <-- refers to this custom function 
} 

window.print으로 전역 객체에 print를 넣어 것입니다. 그래서 사실 스스로를 호출하는 함수 자체를 호출하고 있습니다. 이것은 영원히 계속되어 오버플로가 발생합니다.

window.print은 기본적으로 기본적으로 정의되었으므로 맞춤 기능을 제거하지 않으시겠습니까? function print() {...}을 제거하면 정상적으로 작동해야합니다. window.print (printwindow.print의 바로 가기이므로) 실제로 인쇄를 수행하기 때문입니다.

+2

또는 적어도 사용하려는 기능 이름을 숨길 이름을 지정하지 마십시오. – Oded

+0

네가 맞습니다. 고마워요 –

+0

최고의 실수. 오류 메시지는 꽤 기술적이었습니다. – SoonDead

관련 문제