打印不显示打印按钮及获取其他属性(转载)

传送门:http://dianziermu.iteye.com/blog/375992


今天弄了下打印相关的的内容,主要是为了打印页面内容的时候不想同时打印出“打印按钮”。

主要有五种方法(其中6为删除打印页眉页脚的例子):

 

1、打印前将style隐藏,打印后再显示出来。该方法较简单,且可以写成一个共有的方法,推荐。

 

Html代码   收藏代码
  1. style.display="none";  
  2. window.print();//打印  
  3. style.display="";  

 

 

    下面的代码写成了一个传入标签中name属性作为参数的方法,可以讲name均为此名称的部分隐藏打印:

Html代码   收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>打印部分内容</title>  
  6.   
  7.   
  8. <SCRIPT language=javascript>  
  9.   
  10. function printWebPageByHideName(hideName) //打印函数  
  11. {  
  12.     if(!document.getElementsByName(hideName)){  
  13.         alert("打印失败");  
  14.         return;  
  15.     }   
  16.       
  17.     var hideNum =  document.getElementsByName(hideName).length;  
  18.     //alert(hideNum);  
  19.     for( i = 0;i<hideNum; i++){  
  20.         document.getElementsByName(hideName)[i].style.display="none";//打印时隐藏  
  21.     }  
  22.     window.print();//打印  
  23.     for( i = 0;i<hideNum; i++){  
  24.         document.getElementsByName(hideName)[i].style.display="";//打印后再显示出来  
  25.     }  
  26.       
  27. }  
  28.   
  29.   
  30.   
  31. </SCRIPT>  
  32. </head>  
  33.   
  34. <body>  
  35. <DIV align=center>  
  36.   
  37. 你希望打印的内容..........  
  38. </DIV>  
  39.   
  40. <input  type="button" name="btn" value="提交1"  onclick="printWebPageByHideName('btn');"/>  
  41.   
  42. <input  type="button" name="btn" value="提交2"  onclick="printNew();"/>  
  43.   
  44. <input  type="button" name="btn" value="提交3"  onclick="printNew();"/>  
  45. </body>  
  46. </html>  
 

 

 

 

2.css:主要是把不想打印出的内容用如下样式:

 

Css代码   收藏代码
  1. <style  media="print" type="text/css">  
  2. .noprint{visibility:hidden}  
  3. </style>  

或者:

Css代码   收藏代码
  1. <style  media="print" type="text/css">  
  2. .noprint{DISPLAY: none;}  
  3. </style>  
 

 

 

 

整个页面如下,还包含一些常用的打印属性功能按钮:

Html代码   收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>打印</title>  
  6.   
  7. <style  media="print" type="text/css">  
  8. .noprint{visibility:hidden}  
  9. </style>  
  10.   
  11. <style type="text/css">  
  12. <!--  
  13. .STYLE1 {  
  14.     font-size: 16px;  
  15.     font-weight: bold;  
  16. }  
  17. -->  
  18. </style>  
  19. </head>  
  20.   
  21. <body>  
  22.   
  23.      <OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"  
  24.        VIEWASTEXT>  
  25. </OBJECT>  
  26.         
  27.         
  28.       <center >  
  29.         <p class="STYLE1">要打印的内容  
  30.         <span class="noprint">&nbsp;</span></p>  
  31.         <p>&nbsp;</p>  
  32.         <p>&nbsp;</p>  
  33.         <table width="100%" border="0">  
  34.           <tr>  
  35.             <td><span class="noprint">  
  36.               <input name="button2" type="button" onclick="document.all.WebBrowser.ExecWB(6,1)" value="打印" />  
  37.             </span></td>  
  38.             <td><span class="noprint">  
  39.               <input name="button3" type="button" onclick="document.all.WebBrowser.ExecWB(6,6)" value="直接打印" />  
  40.             </span></td>  
  41.             <td><span class="noprint">  
  42.               <input name="button4" type="button" onclick="document.all.WebBrowser.ExecWB(8,1)" value="页面设置" />  
  43.             </span></td>  
  44.             <td><span class="noprint">  
  45.               <input name="button5" type="button" onclick="document.all.WebBrowser.ExecWB(7,1)" value="打印预览" />  
  46.             </span></td>  
  47.           </tr>  
  48.           <tr>  
  49.             <td><span class="noprint">  
  50.               <input name="button6" type="button" onclick="javascript:window.close()" value="关闭js" />  
  51.             </span></td>  
  52.             <td><span class="noprint">  
  53.               <input name="button7" type="button" onclick="document.all.WebBrowser.ExecWB(2,1)" value="关闭 " />  
  54.             </span></td>  
  55.             <td><span class="noprint">  
  56.               <input name="button8" type="button" onclick="document.all.WebBrowser.ExecWB(4,1)" value="保存网页 " />  
  57.             </span></td>  
  58.             <td><span class="noprint">  
  59.               <input name="button9" type="button" onclick="document.all.WebBrowser.ExecWB(10,1)" value="查看页面属性 " />  
  60.             </span></td>  
  61.           </tr>  
  62.           <tr>  
  63.             <td><span class="noprint">  
  64.               <input name="button" type="button" onclick="document.all.WebBrowser.ExecWB(1,1)" value="打开 " />  
  65.             </span></td>  
  66.             <td><span class="noprint">  
  67.               <input name="button11" type="button" onclick="document.all.WebBrowser.ExecWB(17,1)" value="全选" />  
  68.             </span></td>  
  69.             <td><span class="noprint">  
  70.               <input name="button12" type="button" onclick="document.all.WebBrowser.ExecWB(22,1)" value="刷新 " />  
  71.             </span></td>  
  72.             <td><span class="noprint">  
  73.               <input name="button13" type="button" onclick="document.all.WebBrowser.ExecWB(45,1)" value="关闭窗体无提示" />  
  74.             </span></td>  
  75.           </tr>  
  76.           <tr>  
  77.             <td><span class="noprint">  
  78.               <input name="button10" type="button" onclick="document.all.WebBrowser.ExecWB(15,1)" value="好像是撤销,有待确认" />  
  79.             </span></td>  
  80.             <td>&nbsp;</td>  
  81.             <td>&nbsp;</td>  
  82.             <td>&nbsp;</td>  
  83.           </tr>  
  84.           <tr>  
  85.             <td>&nbsp;</td>  
  86.             <td>&nbsp;</td>  
  87.             <td>&nbsp;</td>  
  88.             <td>&nbsp;</td>  
  89.           </tr>  
  90.         </table>  
  91.         <p>&nbsp;            </p>  
  92.       </center>  
  93.   
  94.   
  95. </body>  
  96. </html>  

 

3、打印页面中选取的连续部分的js

 

Html代码   收藏代码
  1. <script language=javascript>     
  2. function doPrint() {     
  3. bdhtml=window.document.body.innerHTML;     
  4. sprnstr="<!--startprint-->";     
  5. eprnstr="<!--endprint-->";     
  6. prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);     
  7. prnhtmlprnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));     
  8. window.document.body.innerHTML=prnhtml;     
  9. window.print();     
  10. }     
  11. </script>  
  12.    
  13.   打印页面中选取的连续部分(打印从“--startprint--”到“--endprint--”)的HTML代码:  
  14.   <!--startprint-->需打印部分:  
  15.   <table id="table1" width="90%" border="0" align="center" cellpadding="0" cellspacing="0">   
  16.     
  17.     <tr>   
  18.       <td>1</td>   
  19.       <td>2008-5-20</td>   
  20.       <td>天祺教育</td>   
  21.       <td>购物网站</td>   
  22.       <td>2级</td>   
  23.       <td>老师</td>   
  24.       <td>王老师</td>   
  25.       <td>2008-7-20</td>   
  26.       <td><a href="aqChakanShow.html">查看</a></td>   
  27.     </tr>   
  28.     </table>   
  29.     <!--endprint-->  
  30.   
  31.     非打印部分:  
  32.   <table width="90%" align="center" border="0" cellpadding="0" cellspacing="0">   
  33.     <tr>   
  34.       <td><a href="javascript:;" onClick="doPrint()">打印</a> </td>   
  35.       <td></td>   
  36.     </tr>   
  37.   </table>  
 

 

 

 

4、frame框架,不想贴代码了,代码在附件中

 

5、div样式,可下载附件中的printDiv.rar文件

 

Html代码   收藏代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>打印测试</title>  
  6. <script language="JavaScript" type="text/JavaScript">  
  7. <!--  
  8. function PrintPage() {   
  9.     if (window.print)   
  10.     {  
  11.     // *****************************************************  
  12.     // divPrint即为你在打印的区域  
  13.     // 这里根据你要打印的哪些内容,从原显示页面中用  
  14.     // <div id="divPrint">divPrint....</div>  
  15.     // 等标示出来,要打印多少项目就标示多少  
  16.     // *****************************************************   
  17.     var divPrint = document.all.divPrint.innerHTML;  
  18.       
  19.     // *****************************************************  
  20.     // 定义打印用的CSS,具体你想打印出什么样的格式全看你自己  
  21.     // 了,但要注意:如果此处有什么同网页中不一致的,可能打印  
  22.     // 出来的页面同网页格式、字体可能会有所不同  
  23.     // *****************************************************  
  24.     var css = '<style type="text/css" media=all>' +  
  25.     'p { line-height: 120%}' +  
  26.     '.ftitle { line-height: 120%; font-size: 18px; color: #000000}' +  
  27.     'td { font-size: 10px; color: #000000}' +  
  28.     '</style>' ;  
  29.       
  30.     // ******************************************************  
  31.     // 在此处重新设置的打印格式,根据你的打印要求,将原显示的  
  32.     // 网页的DIV内容重新组合,可以根据你原来的表格内容,去掉  
  33.     // 不要打印的,你也可以能下面定义的noprint忽略掉你不想打  
  34.     // 印的东西,只调用你要打印的内容,但这样被忽略掉的地方将  
  35.     // 打印出空,不是很美观。表格宽度要同打印的纸张宽度匹配。  
  36.     // ******************************************************  
  37.     var body ='<table width="640" border="0" cellspacing="0" cellpadding="5">' +  
  38.     ' <tr> ' +  
  39.     ' <td class="fbody"> ' +  
  40.     ' <div align="center" class=ftitle>' + divPrint + '</div>' +  
  41.     ' </td>' +  
  42.     ' </tr>' +  
  43.     '</table>';  
  44.       
  45.     // ******************************************************  
  46.     // 重设document.body,打印文档准备就绪  
  47.     // ******************************************************  
  48.     document.body.innerHTML = '<center>' + css + body + '</center>';  
  49.       
  50.     // ******************************************************  
  51.     // 调用打印命令,打印当前窗口内容。当你打印时其实是一张新  
  52.     // 的网页了,但网页文件还是原先的。紧接着调用  
  53.     // window.history.go(0),再回到打印前的页面,效果相当不差  
  54.     // ******************************************************  
  55.     window.print();  
  56.     window.history.go(0);  
  57.       
  58.     }  
  59. }  
  60. -->  
  61.   
  62.   
  63. </script>  
  64.   
  65.   
  66. <style>  
  67. @media print {  
  68. .noprint {display:none}  
  69. }  
  70. </style>  
  71. <!--//.noprint 定义了noprint,在以下不需要打印的地方加入 class="noprint"后,用window.print()打印就会忽略-->   
  72.   
  73. </head>  
  74.   
  75. <body>  
  76. <p align="center">&nbsp;非打印部分!!</p>  
  77.   
  78. <p><div id="divPrint">divPrint...需要打印的内容!!!.  
  79. <p>&nbsp;</p>  
  80. 本人严正声明:此帖在全世界只有一个沙发。本人是该沙发的唯一合法代表。自古以来本人一直对该沙发行使着主权。沙发两边的扶手是沙发不可分割的一部分,任何企图想制造两个沙发,或一个沙发一个扶手的行为,都必将遭到包括中国网民在内的全世界网民的反对!各族网民反对沙发分裂、维护沙发统一、维护沙发稳定的决心是坚定不移的,任何破坏沙发稳定、制造沙发分裂的图谋都是不得人心的,是注定要失败的!  
  81. </div></p>  
  82.   
  83. <p>  
  84.   <center>  
  85.     <a onclick="PrintPage() "  
  86.     style="text-decoration: underline; cursor: hand;">[ 打&nbsp;印 ]</a>  
  87.   </center>  
  88. </p>  
  89.   
  90. <p>&nbsp;</p>  
  91. <p>打开“页面设置”对话框</p>  
  92. <p align="center"><img src="http://www.ljjyw.com/datas/wen/print_htm.files/guide7.jpg" width="393" height="382" longdesc="http://www.ljjyw.com/datas/wen/print_htm.files/guide7.jpg" /></p>  
  93. <p>&nbsp;</p>  
  94. <p align="left"></p>  
  95. <table align="center" border="1" width="80%">  
  96.   <tbody>  
  97.     <tr>  
  98.       <th>符号</th>  
  99.       <th>含义</th>  
  100.     </tr>  
  101.     <tr>  
  102.       <td>&amp;w</td>  
  103.       <td>网页标题</td>  
  104.     </tr>  
  105.     <tr>  
  106.       <td>&amp;u</td>  
  107.       <td>网页地址 (URL)</td>  
  108.     </tr>  
  109.     <tr>  
  110.       <td>&amp;d</td>  
  111.       <td>短日期格式(由“控制面板”中的“区域设置”指定)</td>  
  112.     </tr>  
  113.     <tr>  
  114.       <td>&amp;D</td>  
  115.       <td>长日期格式(由“控制面板”中的“区域设置”指定)</td>  
  116.     </tr>  
  117.     <tr>  
  118.       <td>&amp;t</td>  
  119.       <td>由“控制面板”中的“区域设置”指定的时间格式</td>  
  120.     </tr>  
  121.     <tr>  
  122.       <td>&amp;T</td>  
  123.       <td>24 小时时间格式</td>  
  124.     </tr>  
  125.     <tr>  
  126.       <td>&amp;p</td>  
  127.       <td>当前页码</td>  
  128.     </tr>  
  129.     <tr>  
  130.       <td>&amp;P</td>  
  131.       <td>总页数</td>  
  132.     </tr>  
  133.     <tr>  
  134.       <td>&amp;b</td>  
  135.       <td>文本右对齐(请把要右对齐的文字放在“&amp;b”之后)</td>  
  136.     </tr>  
  137.     <tr>  
  138.       <td>&amp;b&amp;b</td>  
  139.       <td>文字居中(请把要居中的文字放在“&amp;b”和“&amp;b” 之间)</td>  
  140.     </tr>  
  141.     <tr>  
  142.       <td>&amp;&amp;</td>  
  143.       <td>单个 &amp; 号 (&amp;)</td>  
  144.     </tr>  
  145.   </tbody>  
  146. </table>  
  147. </p>  
  148. <p>   注:1、这些符号可以与文字组合使用,如本教程中的“页码,&amp;p/&amp;P”。<br />  
  149.     2、页眉和页脚默认是左对齐的,所以IE只提供了右对齐和居中的设置符号。<br />  
  150.     3、推荐给大家一种设置方法:页眉为空,页脚设为“&amp;b第         &amp;p 页 / 共 &amp;P 页&amp;b”,打印效果为在页脚居中显示“第 1 页 / 共 4 页”的效果。</p>  
  151. <p>&nbsp;</p>  
  152. <p>&nbsp;</p>  
  153.   
  154. <br/>   
  155.   
  156.   
  157. </p>   
  158.   
  159. <p></p>  
  160. <p>&nbsp;</p>  
  161. </body>  
  162. </html>  

 

 

 

 

6、网上搜的,未细看,但可以去除页眉和页脚,可下载可去除页眉页脚及选择打印部分.rar

Html代码   收藏代码
  1. <HTML><HEAD><TITLE>web打印去掉页眉页脚,以及不想打印出的页面元素</TITLE>  
  2. <META http-equiv=Content-Type content="text/html; charset=gb2312">  
  3. <SCRIPT language=javascript>  
  4. function printpr() //预览函数  
  5. {  
  6. document.all("qingkongyema").click();//打印之前去掉页眉,页脚  
  7. document.all("dayinDiv").style.display="none"; //打印之前先隐藏不想打印输出的元素(此例中隐藏“打印”和“打印预览”两个按钮)  
  8. var OLECMDID = 7;  
  9. var PROMPT = 1;  
  10. var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';  
  11. document.body.insertAdjacentHTML('beforeEnd', WebBrowser);  
  12. WebBrowser1.ExecWB(OLECMDID, PROMPT);  
  13. WebBrowser1.outerHTML = "";  
  14. document.all("dayinDiv").style.display="";//打印之后将该元素显示出来(显示出“打印”和“打印预览”两个按钮,方便别人下次打印)  
  15. }  
  16.   
  17. function printTure() //打印函数  
  18. {  
  19. document.all('qingkongyema').click();//同上  
  20. document.all("dayinDiv").style.display="none";//同上  
  21. window.print();  
  22. document.all("dayinDiv").style.display="";  
  23. }  
  24. function doPage()  
  25. {  
  26. layLoading.style.display = "none";//同上  
  27. }  
  28.   
  29.   
  30.   
  31. </SCRIPT>  
  32.   
  33.   
  34.   
  35. <script language="VBScript">  
  36. dim hkey_root,hkey_path,hkey_key  
  37. hkey_root="HKEY_CURRENT_USER"  
  38. hkey_path="\Software\Microsoft\Internet Explorer\PageSetup"  
  39. '//设置网页打印的页眉页脚为空  
  40. function pagesetup_null()  
  41. on error resume next  
  42. Set RegWsh = CreateObject("WScript.Shell")  
  43. hkey_key="\header"  
  44. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""  
  45. hkey_key="\footer"  
  46. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,""  
  47. end function  
  48. '//设置网页打印的页眉页脚为默认值  
  49. function pagesetup_default()  
  50. on error resume next  
  51. Set RegWsh = CreateObject("WScript.Shell")  
  52. hkey_key="\header"  
  53. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P"  
  54. hkey_key="\footer"  
  55. RegWsh.RegWrite hkey_root+hkey_path+hkey_key,"&u&b&d"  
  56. end function  
  57. </script>  
  58.   
  59.   
  60.   
  61. </HEAD>  
  62. <BODY background="images/background_01.gif" leftMargin=0  
  63. topMargin=0 rightMargin=0 bottomMargin=0 style="BACKGROUND-POSITION: center 50%">  
  64.   
  65.   
  66.   
  67. <DIV align=center>  
  68.   
  69. 你希望打印的内容..........  
  70. </DIV>  
  71.   
  72.   
  73.   
  74. <DIV align="center" id="dayinDiv" name="dayinDiv"><input type="button" class="tab" value="打印" onclick="printTure();">    
  75. <input   type="button" class="tab" value="打印预览" onclick="printpr();">  
  76. <input type="hidden" name="qingkongyema" id="qingkongyema" class="tab" value="清空页码" onclick="pagesetup_null()">    
  77. <input type="hidden" class="tab" value="恢复页码" onclick="pagesetup_default()">  
  78. </DIV>  
  79.   
  80.   
  81.   
  82. </BODY>  
  83. </HTML>  
 

另外有个实用的js应用大全:

 

http://blog.csdn.net/panxuan/archive/2007/11/26/1902826.aspx


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值