Как распечатать веб-страницу, не открыв всплывающее окно?

Я хочу напечатать веб-страницу с помощью JavaScript. Но я не хочу открывать страницу как всплывающие окна. Как я могу напечатать непосредственно веб-страницу, такую ​​как "mypage.aspx", используя метод JavaScript window.print, не открывая его как всплывающее окно?

Также условие: "Я не хочу использовать ActiveX для этого"

Вот что я хочу попробовать:

var printWindow, printData; printWindow = window.open("", "printVersion", "menubar,scrollbars,width=640,height=480,top=0,left=0");

printData=document.getElementById("lblReport").innerHTML; printWindow.document.write(printData); 
printWindow.document.close(); 
printWindow.print();  

Ответ 1

Самое простое решение - загрузить содержимое этого mypage.aspx в iframe, а затем в iframes onload event вызвать window.print.

<button onclick="printPage()">print</button>
<div id="printerDiv" style="display:none"></div>
<script>
   function printPage()
   {
      var div = document.getElementById("printerDiv");
      div.innerHTML = '<iframe src="mypage.aspx" onload="this.contentWindow.print();"></iframe>';
   }
</script>

Ответ 2

<html>
    <head>
        <title>Print</title>
        <link rel="stylesheet" type="text/css" media="all" href="all.css" />
        <link rel="stylesheet" type="text/css" media="print" href="print.css" />
    </head>
<body>
    <p>I get printed</p>
    <form>
        <input type="button" onclick="window.print()" value="Print" />
    </form>
</body>
</html>

Убедитесь, что all.css находится сверху и print.css внизу, он должен работать.

Ответ 3

Не уверен, что он работает, но вы можете попытаться создать невидимый iframe, загрузить page2.aspx в него, а затем распечатать его.

Ответ 4

Um. Просто используйте window.print(); непосредственно на странице. Сам по себе он не открывает новое окно (кроме окна свойств печати для установки параметров печати).

Ответ 5

Вы можете просто использовать таблицу стилей печати CSS и вообще не использовать javascript - все, что пользователь должен сделать, это распечатать страницу. например.

<link rel="stylesheet" type="text/css" media="print" href="print.css" />