您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

js控制web打印(局部打印)方法整理

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 首先定义css样式: 

 代码如下: @media print {  .noprint { display: none;color:green }  }    对于不想打印的内容只用在标签中加上 class=noprint即可,打印的时候客户也不会看到页面任何变化。  打印时调用 window.print();    另外几种js局部打印的方法:  移花接木:  打印的时候,把需要打印的内容替换成整个body内容(用户会在打印的时候看到变化,客户体验不太好)   代码如下: 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();  }  }    使用很简单 将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->  再加个打印按纽 onclick=preview(1)  -----------------------------------------  WebBrowser是IE内置的浏览器控件,无需用户下载.(未实验)  一、WebBrowser控件  代码如下:   <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>    二、WebBrowder控件的方法   代码如下: //打印  WebBrowser1.ExecWB(6,1);  //打印设置  WebBrowser1.ExecWB(8,1);  //打印预览  WebBrowser1.ExecWB(7,1);    关于这个组件还有其他的用法,列举如下:  WebBrowser.ExecWB(1,1) 打开  Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口  Web.ExecWB(4,1) 保存网页  Web.ExecWB(6,1) 打印  Web.ExecWB(7,1) 打印预览  Web.ExecWB(8,1) 打印页面设置  Web.ExecWB(10,1) 查看页面属性  Web.ExecWB(15,1) 好像是撤销,有待确认  Web.ExecWB(17,1) 全选  Web.ExecWB(22,1) 刷新  Web.ExecWB(45,1) 关闭窗体无提示  但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:  样式内容:   代码如下: <style type="text/css" media=print>  .noprint......{display : none }  </style>    然后使用样式就可以:  <p class="noprint">不需要打印的地方</p>  代码如下:  <script language="javascript">  function printsetup()......{  // 打印页面设置  wb.execwb(8,1);  }  function printpreview()......{  // 打印页面预览  wb.execwb(7,1);  }  function printit()  ....{  if (confirm('确定打印吗?')) ......{  wb.execwb(6,6)  }  }  </script>  <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>  <input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()">  <input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();">  <input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();">