打印网页中定义的部分内容的实现方法
正常情况下的打印是使用 window.print();直接整页打印,但如果需要打印网页中定义的部分内容,则可使用如下的方法:
1、在页面的代码头部处加入JavaScript:
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";//开始打印标识字符串有17个字符
eprnstr="<!--endprint-->";//结束打印标识字符串
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);//从开始打印标识之后的内容
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//截取开始标识和结束标识之间的内容
window.document.body.innerHTML=prnhtml;//把需要打印的指定内容赋给body.innerHTML
window.print(); //调用浏览器的打印功能打印指定区域
window.document.body.innerHTML=bdhtml; //最后还原页面
}
</script>
2、在页面正文处加上<!--startprint-->与<!--endprint-->标识。
也就是在需要用户打印保存的正文所对应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。
3、截取内容部分已完成,现在加个“打印”的链接:
<a href="javascript:;"onClick="doPrint()">打印</a>
<scriptlanguage=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>
要打印的内容在<!--startprint-->startprint与endprint之间的区域<!--endprint-->里。
<a href="javascript:;"onClick="doPrint()">打印</a>
本贴来自天极网群乐社区--http://q.yesky.com/group/review-17575085.html
第二种做法:
<html>
<meta http-equiv="Content-Type"content="text/html; charset=utf-8" />
<scripttype="text/javascript">
<!--
//自动在打印之前执行
window.onbeforeprint = function(){
$("#test").hide();
}
//自动在打印之后执行
window.οnafterprint= function(){
$("#test").show();
}
//-->
</script>
<body >
<divid="test">这段文字不会被打印出来</div>
<input type="button"οnclick="window.print();" value="打印本页" />
<DIV>
打印区域内容
</DIV>
</body>
</html>
转载出自点击打开链接