js实现页面打印功能实例代码(附去页眉页脚功能代码)

复制代码 代码如下:

  <html>

  <head></head>

  <style type="text/css" media="screen">

  @media print{

  .print {display:block;}

  .notPrint {display:none;}

  }

  </style>

  <script language="javascript">

  function preview()

  {

  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>

  <body>

  <form id="WebForm1" method="post" >

  <center>本部分以上不被打印</center>

  <!--startprint-->

  <div align="center">

  <asp:DataGrid id="dgShow" runat="server">

  <!--省略部分代码-->

  </asp:DataGrid>

  <table>

  <tr><td>打印打印打印打印打印打印打印打印</td></tr>

  </table>

  </div>

  <!--endprint-->

  <center>本部分以下不被打印</center>

  <div align="center">

  <input type="button" name="print" value="预览并打印" onclick="preview()">

  </div>

  <style> @media Print { .Noprn { DISPLAY: none }}

  </style>

  <p class="Noprn">不打印</p>

  <table id="datagrid">

  <tr>

  <td>打印</td>

  </tr>

  </table>

  <input class="Noprn" type="button" onclick="window.print()" value="print">

  </form>

  </body>

  </html>

  -------------

  使用JS打印,

  看代码

  

复制代码 代码如下:

  <script language="javascript">

  function preview()

  {

  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-->和<!--endprint-->

  这个标记之间的网页内容。

  所以网页中要包含这个2个标签才行···

  下面是去除页脚页眉的js代码

  

复制代码 代码如下:

  <script>

  var HKEY_Root,HKEY_Path,HKEY_Key;

  HKEY_Root="HKEY_CURRENT_USER";

  HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";

  //设置网页打印的页眉页脚为空

  function PageSetup_Null()

  {

  try

  {

  var Wsh=new ActiveXObject("WScript.Shell");

  HKEY_Key="header";

  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");

  HKEY_Key="footer";

  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");

  }

  catch(e)

  {}

  }

  //设置网页打印的页眉页脚为默认值

  function PageSetup_Default()

  {

  try

  {

  var Wsh=new ActiveXObject("WScript.Shell");

  HKEY_Key="header";

  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");

  HKEY_Key="footer";

  Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");

  }

  catch(e)

  {}

  }

  PageSetup_Default();

  </script>

  注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:

  打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用

  更多功能请参考管理资源吧现在用的代码。

  http://dl.glzy8.com/img/inc/content.js