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

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

Также условие, 'Я не хочу использовать любой ActiveX для this'

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

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();  
11
задан Gaurav Aroraa 23 April 2014 в 20:21
поделиться

5 ответов

Самое простое решение - загрузить содержимое этого файла mypage.aspx в iframe, а затем в событии onload iframe вызвать 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>
22
ответ дан 3 December 2019 в 02:40
поделиться
<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 внизу, он должен работать.

6
ответ дан 3 December 2019 в 02:40
поделиться

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

1
ответ дан 3 December 2019 в 02:40
поделиться

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

2
ответ дан 3 December 2019 в 02:40
поделиться

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

<link rel="stylesheet" type="text/css" media="print" href="print.css" />
0
ответ дан 3 December 2019 в 02:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: