这个解决方案在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;
}
被加载到隐藏iframe中的aspx在onload事件处理程序上调用打印函数:
<body onload="PrintJS.Print();">
打印功能:
Print函数:
this.Print = function(){
self.focus();
self.print();
return false;
}
我也尝试过使用“window”而非“self”。这两种方法在Firefox中都可以正常工作,但IE似乎无法正确处理作用域。有什么想法吗?跨浏览器的解决方案将是很好的选择!另外,我更愿意使用CSS打印样式,但我要打印的内容与页面上的内容不同,因此需要将HTML加载到隐藏的iframe中。