方案一:
我们做的页面需打印怎么办?简单地直接用javascript调用window.print()就ok!当然想打印更好看一点就CSS罗。但我现在想说的是只打印一部分,如我们的网页想统一风格,每页都有头、导航和脚等东西,这些我不想打印,只想把内容区域中的一张表格打印出来,怎么办?
一、HTML代码,注意那两行注释:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<!--startprint-->
<asp:GridView ID="GridView1" runat="server" Width="157px" EnableViewState="False">
</asp:GridView>
<!--endprint-->
<br/>
<div style="width:100%; text-align:center;">
<input type="button" value="打印表格" οnclick="PrintView();" />
</div>
</asp:Content>
二、Javascript:
function PrintView(){
var bdhtml=window.document.body.innerHTML;
//alert(bdhtml.length);//4619
var sprnstart="<!--startprint-->";
var sprnend="<!--endprint-->";
//alert(bdhtml.indexOf(sprnstart)+17);//582
var sprnhtml=bdhtml.substring(bdhtml.indexOf(sprnstart)+17,bdhtml.length);
//alert(sprnhtml.indexOf(sprnend));//3246
sprnhtml=sprnhtml.substring(0,sprnhtml.indexOf(sprnend));
window.document.body.innerHTML=sprnhtml;
window.print();
/*开新窗口打印尚未实现
var printwin=window.open("print.html");
printwin.document.body.innerHTML=sprnhtml;
printwin.print();
*/
}
三、OK
方案二:
在css代码中加:
@media print {
.noprint {display:none;}
}
然后把不希望打印的表格、按钮等元素应用noprint样式即可.
个人觉得方案二比较好。因为方案一在你点击按钮之后按钮就会消失。