Giải pháp này hoạt động tốt trong Firefox 3.0+, nhưng IE8/7 chỉ in toàn bộ trang chứ không phải khung nội tuyến cụ thể.In iFrame ẩn trong IE
Đây là chức năng mà được gọi mỗi khi kết nối in được nhấp:
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;
}
Các aspx đó được nạp vào iframe ẩn gọi là chức năng in trên xử lý sự kiện onload:
<body onload="PrintJS.Print();">
Chức năng In:
this.Print = function(){
self.focus();
self.print();
return false;
}
Tôi cũng đã thử điều này bằng "cửa sổ" thay vì "tự". Cả hai giải pháp đều hoạt động tốt trong FF nhưng IE dường như không có được phạm vi đúng. Có suy nghĩ gì không? Một giải pháp cross-browser sẽ là tuyệt vời! Ngoài ra, tôi thích sử dụng các kiểu in CSS hơn, nhưng nội dung mà tôi đang in khác với nội dung trên trang, do đó cần phải tải html vào một khung nội tuyến ẩn.
Có phải nó là một máy in bí mật mà không ai biết? (xin lỗi, không thể cưỡng lại :)) – KristoferA