Это решение отлично работает в Firefox 3.0+, но IE8 / 7 просто печатает всю страницу, а не конкретный iframe.
Эта функция вызывается при нажатии на ссылку для печати:
var printfunc= function(){
var url = http://someurl.aspx;
//This iFrame has style="visibility: hidden; position: absolute; left: -9000px;"
var printIFrame = GetObj('PrintIFrame');
printIFrame.src = url;
}
aspx, который загружается в скрытый iframe, вызывает функцию печати в обработчике события onload:
<body onload="PrintJS.Print();">
Функция печати:
this.Print = function(){
self.focus();
self.print();
return false;
}
Я также пробовал это с "окном" вместо "себя". Оба решения отлично работают в FF, но IE, похоже, не дает правильного определения. Какие-нибудь мысли? Кросс-браузерное решение было бы здорово! Кроме того, я бы предпочел использовать стили печати CSS, но содержимое, которое я печатаю, отличается от содержимого на странице, поэтому необходимо загружать HTML в скрытый iframe.