Chrome и window.print()

Опубликовано

Был слегка удивлен тому, что одна из самых простых функций – отправки страницы на печать – не сработала в браузере Google Chrome.
Хотя в других браузерах, строчка кода помещенная в head страницы, работала на отлично.

<script type="text/javascript">window.print();</script>

Немного покопавшись в инете, нашел решение данной проблемы: оказывается функция “print” запускается не сразу. Поэтому решение быстро нашлось:

<script type="text/javascript">setTimeout("window.print()", 500);</script>

Вот так и вызываю страницу на печать.

UPD: Более правильное решение представил Виталий

Нужно дождаться загрузки HTML контента:

вместо window.print();

ставим

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

и все работает (естественно если jQuery подрублен) для чистого js:

window.onload = function(){
 window.print();
}