Мне пришлось сделать несколько модификаций, чтобы сделать это в IE8 (не тестировал с другими версиями IE)
1) document.frames [param], кажется, принимает число, а не ID
printIframe(0, 'print');
function printIframe(num, id)
{
var iframe = document.frames ? document.frames[num] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
ifWin.focus();
ifWin.printPage();
return false;
}
2) У меня было диалоговое окно печати, отображаемое при загрузке страницы, а также была ссылка «Нажмите здесь, чтобы начать печать» (если она не запускалась автоматически). Чтобы это работало, мне пришлось добавить вызов focus ()
<script type="text/javascript">
$(function(){
printPage();
});
function printPage()
{
focus();
print();
}
</script>