Автозапуск печати html-страницы с помощью javascript

Есть ли способ автоматически запустить javascript:window.print() после завершения загрузки страницы?


person fmsf    schedule 27.10.2008    source источник


Ответы (7)


Следующий код необходимо поместить в конец HTML-файла, чтобы после загрузки содержимого скрипт выполнялся и окно печаталось.

<script type="text/javascript">
<!--
window.print();
//-->
</script>
person drftorres    schedule 06.05.2012
comment
лучше использовать <script type="text/javascript">, а не использовать устаревший атрибут language. - person Spudley; 06.05.2012
comment
Если это не в конце HTML, процесс печати начнется до загрузки страницы. - person fmsf; 07.05.2012

Добавьте следующий код на свою HTML-страницу, и он будет отображать предварительный просмотр при загрузке страницы.

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>

<script type="text/javascript">

$(document).ready(function () {
    window.print();
});

</script>
person Daniyal Tariq    schedule 06.10.2018

Используйте этот скрипт

 <script type="text/javascript">
      window.onload = function() { window.print(); }
 </script>
person hojjat.mi    schedule 23.08.2016

Этот скрипт запустится после загрузки всей страницы.

 <script type="text/javascript">   
     $(window).load(function() {
      //This execute when entire finished loaded
      window.print();
    });
</script>
person Gufran Hasan    schedule 06.10.2018

Для меня сработало добавление <script>window.print();</script> в конец страницы.


Мне не нужен был атрибут type="text/javascript" или даже чтобы страница была заключена в тег <body>. Однако все мои предыдущие попытки интуитивно использовать ответы, предложенные здесь, просто написать window.onload=window.print или более длинные версии, такие как window.onload=()=>window.print();, не сработали, и, конечно, вызов print во вновь созданном окне не ждет загрузки содержимого.

person Justin    schedule 10.04.2020

Если вы хотите открыть отдельное окно из веб-браузера, вы можете использовать это:

  window.open(basePath + "Controller/Route/?ID=" + param, '_blank').print();
person DanyMartinez_    schedule 09.11.2020

person    schedule
comment
Второй вариант является предпочтительным методом. - person staticsan; 28.10.2008
comment
Почему бы и нет window.onload = window.print; - person elipoultorak; 06.03.2016
comment
@elipoultorak конкретно не в этом случае, но некоторые вызовы собственных функций, которые не являются прямыми, вызывают ошибку незаконного вызова, поэтому это обычно не рекомендуется, поэтому не используется так часто :) - person jave.web; 15.11.2018