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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


<body onload = "window.print()">
или же
window.onload = function() { window.print(); }
Почему не window.onload = window.print;
@elipoultorak не в этом случае конкретно, но некоторые вызовы нативных функций, которые не являются прямыми, вызывают ошибку "Illegal invocation", поэтому обычно это не рекомендуется, поэтому не используется так часто :)
Следующий код должен быть помещен в конец вашего HTML-файла, чтобы после загрузки содержимого скрипт был выполнен, и окно распечаталось.
<script type = "text/javascript">
<!--
window.print();
//-->
</script>
Лучше использовать <script type = "text/javascript">, чем использовать устаревший атрибут language.
Если это не в конце HTML, он начнет процесс печати до загрузки страницы.
Используйте этот скрипт
<script type = "text/javascript">
window.onload = function() { window.print(); }
</script>
Добавьте следующий код на свою 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>
Этот скрипт запустится после загрузки всей страницы.
<script type = "text/javascript">
$(window).load(function() {
//This execute when entire finished loaded
window.print();
});
</script>
Для меня добавление <script>window.print();</script> в конец страницы сработало.
Мне не нужен был атрибут type = "text/javascript" или даже чтобы страница была обернута тегом <body>. Однако все мои предыдущие попытки интуитивно использовать предложенные здесь ответы просто написать window.onload=window.print или более длинные версии, такие как window.onload=()=>window.print();, не работали, и, конечно же, вызов print во вновь созданном окне не дожидается загрузки содержимого.
Если вы хотите открыть отдельное окно в веб-браузере, вы можете использовать это:
window.open(basePath + "Controller/Route/?ID = " + param, '_blank').print();
Второй вариант - предпочтительный метод.