以前用户在打印网页内容时,一般直接选择IE的打印功能就行。有的WEB页面上也有“打印此文档”的链接功能,引用的也是“window.print();”,类似于手工打印页面。 一般我们用到网页的打印,都仅对页面上的主要内容感兴趣,一些相关的广告图片、无用的文字信息等都可以排除。如果需要实现这样的效果,则使用上面的方法肯定是不可取的。上次我在写域名查询的时候,使用了XML,同时处理查询反馈信息是进行截取的方法,即仅对有用处的信息进行读取。其实网上那些所谓的“小偷程序”也是这样的原理。借助这样的思路,我尝试着对网页打印也进行“截取”处理一下了。当然,也是针对网页的HTML源代码进行操作了,方法如下: 1、在页面的代码头部处加入JavaScript:
<script language=javascript>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>
2、在页面正文处加上<!--startprint-->与<!--endprint-->标识。也就是在需要用户打印保存的正文所对应的html处附加上。 3、截取内容部分已完成,现在加个“打印”的链接:<a href="javascript:;" onClick="doPrint()">打印教程</a> 当然,如果直接手工让浏览器打印的话,这个功能是根本不会实现的。 这样,效果就完成。我也仅仅提供了一个思路,因为家中未装打印机,所以未尝试。如果你们在实际使用中发现有问题,希望给予指正了。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18