Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do you print from a popup window in javascript?
    text
    copied!<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>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload