function printPreview() //将 DataGrid 打印预览
{
try
{
var printWindow = window.open("","_blank");
var str = "<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT>"
var s = "<html>\r\n";
s += "<head>";
s += "<LINK href='../images/css.css' type='text/css' rel='stylesheet'>";
s += "<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>";
s += "</head>";
s += "<body><center><br>";
s += "<div align=center style='width:96%'>";
s += document.all.dgAnswer.outerHTML;
s += "</div>";
s += "</center></body>";
s += "</html>";
printWindow.document.write(s);
printWindow.document.close();
printWindow.document.body.insertAdjacentHTML("beforeEnd", str);
printWindow.document.all.WebBrowser.ExecWB(7,1); //打印预览
//printWindow.document.all.WebBrowser.ExecWB(6,6);//直接打印
printWindow.close();
}
catch(e)
{
alert("您的浏览器版本太低,请升级您的浏览器!");
}
}
这是我写的一段代码, 也奉献出来大家参考参考.
{
try
{
var printWindow = window.open("","_blank");
var str = "<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT>"
var s = "<html>\r\n";
s += "<head>";
s += "<LINK href='../images/css.css' type='text/css' rel='stylesheet'>";
s += "<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>";
s += "</head>";
s += "<body><center><br>";
s += "<div align=center style='width:96%'>";
s += document.all.dgAnswer.outerHTML;
s += "</div>";
s += "</center></body>";
s += "</html>";
printWindow.document.write(s);
printWindow.document.close();
printWindow.document.body.insertAdjacentHTML("beforeEnd", str);
printWindow.document.all.WebBrowser.ExecWB(7,1); //打印预览
//printWindow.document.all.WebBrowser.ExecWB(6,6);//直接打印
printWindow.close();
}
catch(e)
{
alert("您的浏览器版本太低,请升级您的浏览器!");
}
}
这是我写的一段代码, 也奉献出来大家参考参考.
@media print {
.noprint {display:none}
}
</style>
<button class="noprint">Print</button>
其实我的目的是指在有的时候,网页上显示的是一种风格,比如打印发票,显示时,显示发票的样子,包括表格,划线等,而打印时,发票的表格线没必要打,那就可以使用这种方式来调用打印。
@media print {
.noprint {display:none}
}
</style>
<button class="noprint">Print</button>这个才是有效的方法,显示的时候照样显示,但是不打印出来,而且控制非常方便. 还有一个是media SCREEN.几年来,我一直用这个,屡试不爽啊
你的方法我试了一下,新弹出来的预览页面如果点菜单中的关闭可以正常工作,可是如果点击窗口的关闭按钮,那么你open的printWindow就又显示出来了,这个怎么处理
去掉页眉页脚的办法:
一、最省事,也是最笨的,最直接的是点击ie浏览器的文件菜单,选中页面设置,将页眉页脚下面的文本框清空,即将&w&b页码,&p/&P,&u&b&d都删掉
它们的作用分别是:
窗口标题 &w
网页地址 (URL) &u
短日期格式(由“控制面板”中的“区域设置”指定) &d
长日期格式(由“控制面板”中的“区域设置”指定) &D
当前页码 &p
总页数 &P
文本右对齐(后跟 &b) &b
文字居中(&b&b 之间) &b&b
单个 & 号 (&)
二、在要打印的页面里用代码控制:
<OBJECT id=factory style="DISPLAY: none"
codeBase=http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360
classid=clsid:1663ed61-23eb-11d2-b92f-008048fdd814 viewastext></OBJECT>
<SCRIPT defer>
function println() {
factory.printing.header = ""
factory.printing.footer = ""
factory.printing.Print(true)
factory.printing.leftMargin = 0.2
factory.printing.topMargin = 0.5
factory.printing.rightMargin = 0.2
factory.printing.bottomMargin = 1.5
window.print();
}
</SCRIPT>
<input onClick="this.style.visibility='hidden';println();return false" type="button" value="打印" class="button">
@media print {
.noprint {display:none}
}
</style>
<button class="noprint"> 不要 Print</button>在任何不要打印的元素上加 class="noprint",它就不会被打印. 一点不会破坏显示页面其打印版面会存在空位===>也不会的.
我怎么连不上呢