javascript打印

  web项目中可能会经常用到javascript打印,我首先尝试用JavaScript调用WebBrower进行打印,具体实现方法网上有很多,这里简单介绍一下:     

首先在页面body中加入:


显示代码打印1 <object id=wb 

        height=0 

        width=0     

        classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2     

        name=wb> 

</object>

 

 

2、下面就是通过JavaScript调用上面Object的方法进行打印了:


显示代码打印01 <mce:script language="javascript"><!--     

    function printsetup() 

    {  

      // 打印页面设置  

      wb.execwb(8,1);  

    }  

    function printpreview() 

    {  

      // 打印页面预览  

       wb.execwb(7,1);    

     }  

    function printit()  

    {  

      if (confirm(’确定打印吗?’))  

       {  

          wb.execwb(6,6)  

       }  

    }  

// --></mce:script>

 

 

3、去除打印时的页眉和页脚


显示代码打印01 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){}     

 }


     但此处会出于问题,由于浏览器本身有安全限制,上面的操作需要浏览做很多安全方面的设置,这但使用该功能的用户来说存在安全隐患,所以该种打印解决方案非最佳方案。我曾实验过,对于安全限制稍低的IE6来说不会出现什么问题,但对于安全限制性更高的IE7来说,需要对浏览器做几项设置后才能打印。所以这个方案不推荐。

      那么另外的打印方案就是最简单的,那么最简单意味着很多功能也受限,比如说打印预览就很难做到尽善尽美了。简单介绍一下吧:

      这种方案就不需要在body中加入Object了,只需在调用下面的JS方法即可:


显示代码打印1 function printPage(){ 

   if(confirm(’确定打印吗?’)) {     

      window.print(); 

    }     

 }

 

 

怎样去掉页眉页脚呢?

      方法一:在<head>中加入:


显示代码打印01 <style> 

  @media print 

  {    

   .Noprint{DISPLAY:none;}    

   .PageNext{PAGE-BREAK-AFTER:always}    

  }  

 </style> 

        在不需要打印的地方:如<table class="Noprint">不打印的部分</table> 

   

       方法二:在<head>中加入: 

 //指定img类型元素不打印 

 @media print{ 

 img {display:none} 

 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值