正常情况下的打印是使用 window.print();
直接整页打印,但如果需要打印网页中定义的部分内容,则可使用如下的方法:
以下是代码片段:
// JS 实现简单的页面局部打印 <script> function doPrint() { bdhtml=window.document.body.innerHTML; sprnstr="<!--startprint-->"; eprnstr="<!--endprint-->"; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); window.document.body.innerHTML=prnhtml; window.print(); } </script> 亦可以添加变量,同页面多次区别使用: <script> function preview(oper) { if (oper < 10) { bdhtml=window.document.body.innerHTML; //获取当前页的html代码 sprnstr="<!--startprint"+oper+"-->"; //设置打印开始区域 eprnstr="<!--endprint"+oper+"-->"; //设置打印结束区域 prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //从结束代码向前取html window.document.body.innerHTML=prnhtml; window.print(); window.document.body.innerHTML=bdhtml; } else { window.print(); } } </script> 使用很简单 将页面内要打印的内容加入中间<!--startprint1-->
内容<!--endprint1-->
再加个打印按纽onclick=preview(1);
<!--startprint-->
与 <!--endprint-->
标识。也就是在需要用户打印保存的正文所对应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。
以下是代码片段:局部打印
<a href="javascript:void(0);" onClick="doPrint()">局部打印</a>
当然你也可以使用 print.css 来做打印样式,通过css 控制在打印媒体中的页面表现样式!
实践出真知