Всем привет.
Мне потребовалось распечатать блок страницы. Для этого я решил открыть дочернее окно, вставить него этот блок, затем распечатать:
function printBill(){
var h = $('#pd4').height();
var w = $('#pd4').width();
var printWin = window.open('','Квитанция','left=50,top=50,width='+w+',height='+h);
printWin.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">');
printWin.document.write('<html xmlns="http://www.w3.org/1999/xhtml">');
printWin.document.write('<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />');
printWin.document.write('<title>Квитанция</title>');
printWin.document.write('<link rel="stylesheet" type="text/css" href="/template/css/style.css" />');
printWin.document.write('<link href="/template/css/printpd4.css" rel="stylesheet" type="text/css" media="print" />');
printWin.document.write('<link href="/template/css/csspd4.css" rel="stylesheet" type="text/css" media="screen" />');
printWin.document.write('<style>body{background:#ffffff;}</style>');
printWin.document.write('</head><body><div id="pd4"></div></body>');
printWin.document.getElementById('pd4').innerHTML = $('#pd4').html();
printWin.print();
}
В FF всё как надо. В Опере и ИЕ print не срабатывает, при этом в ИЕ, кажется, зависает загрузка какого-то из стилей (но страница выглядит нормально). Хотя и без стилей печать тоже не срабатывает.
Где собака порылась?