title: How do you print from a popup window in javascript?
body: <p>I have a .Net application that dynamically creates a small HTML page and pops it up in a new window using the javascript document.open method.  Everything with that functionality is working fine.  </p>
  
  <p>Now I want to add a button to the HTML page that prints the page.  I have tried using the following code to no avail:</p>
  
  <pre><code>&lt;a href='print.html' onClick='window.print();return false;'&gt;
  &lt;img src='images/printer.png' height='32px' width='32px'&gt;&lt;/a&gt;
  </code></pre>
  
  <p>When the button is clicked in the popup window, nothing happens.  But when the source code of of this page is saved and loaded in a browser as a separate page, the print button works perfectly.  <strike>So it would appear that the problem is caused by the fact that the code is in a popup window.</strike> [The problem now appears to be that the code in written to the popup window after it is opened.]  Does anyone know a way to fix this problem or any alternatives?</p>
  
  <p>EDIT:</p>
  
  <p>Other method that I have tried with the same results:</p>
  
  <pre><code>&lt;input type='button' onclick='window.print()' value='Print' /&gt;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>&lt;a href='javascript:window.print()'&gt;
  &lt;img src='images/printer.png' height='32px' width='32px'&gt;&lt;/a&gt;
  </code></pre>
  
  <p>EDIT AGAIN:</p>
  
  <p>The above code works in Firefox, but not in IE7.  Any ideas on a work around for IE?</p>
  
  <p>EDIT YET AGAIN:</p>
  
  <p>Here is a test case using the code that <a href="https://stackoverflow.com/users/294150/npup">npup</a> <a href="https://stackoverflow.com/questions/2448676/how-do-you-print-from-a-popup-window-in-javascript/2460794#2460794">posted</a> below.  Instead of the code for the popup window living in a separate html file, I am opening a blank url and then writing the code to it.  This step appears to be what is causing the problem.</p>
  
  <pre><code>&lt;html&gt;
  &lt;head&gt;
      &lt;title&gt;main&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
      &lt;h1&gt;
          Pop &amp; print&lt;/h1&gt;
      &lt;button onclick="pop();"&gt;
          Pop&lt;/button&gt;
  
      &lt;script type="text/javascript"&gt;
        var POP;
        function pop() {
            var newWin = window.open('', 'thePopup', 'width=350,height=350');
          newWin.document.write("&lt;html&gt;&lt;head&gt;&lt;title&gt;popup&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;Pop&lt;/h1&gt;" +
              "&lt;p&gt;Print me&lt;/p&gt;&lt;a href='print.html' onclick='window.print();return false;'&gt;" +
              "&lt;img src='images/printer.png' height='32px' width='32px'&gt;&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;");
        }
      &lt;/script&gt;
  
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>