[自用门户]js 打印网页中指定的部分内容和范围

来源:互联网 发布:ppt数据分析怎么做 编辑:程序博客网 时间:2024/05/16 18:49

打印网页中定义的部分内容的实现方法

正常情况下的打印是使用 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.onafterprint= function(){

       $("#test").show();

    }

  //-->

 

 

</script>

<body >

    <divid="test">这段文字不会被打印出来</div>

   

  <input type="button"onclick="window.print();" value="打印本页" />

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<DIV>

打印区域内容

</DIV>

</body>

</html>


转载出自点击打开链接

原创粉丝点击