JS 打印

1.用Object实现打印
   添加对象〈object ID='WebBrowser1' WIDTH="0" HEIGHT="0"   CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'>〈/object>
   添加如下JS函数:

〈script type="text/javascript">
     function print()
     {
         document.getElementById('WebBrowser1').ExecWB(6,1);

     }
〈/script>

   添加打印按钮:〈a href="javascript:print();">打印〈/a>

   说明:
   WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。本文以asp为例,但是他可以容易的移植到其他web技术中。
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); 

实现打印的设置,打印数据的生成,打印的预览,和打印一点思路:
  实现打印的设置,打印数据的生成,打印的预览,和打印我一般这样做,假如查询结果在a.asp中,那么在a.asp中放置打印设置、打印预览、打印三个按钮。
  单击打印设置按钮则在js中执行WebBrowser1.ExecWB(8,1),以打开打印设置窗口。
  单击打印预览按钮则打开一个b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(7,1),以打开用户预览界面。
  单击打印按钮则也打开b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(6,1),以自动打印数据。

 


2.用JS自带函数打印

〈a href="javascript:window.print();">打印〈/a>

3.调用浏览器菜单命令

〈input type=button value="打印" οnclick="document.execCommand('print','true','true')">

   其实第一种方法也是第二种方法的复杂实现方法,但是第一种方法提供了更多的预览,修改打印设置等功能。
推荐使用第二种方法,出于安全的考虑,有些浏览器(比如遨游)会禁用一些Object,所以在遨游中第一种方法会报权限不足的JS错误。

 

js 的两种源码:

<script language="javascript">
var hkey_root,hkey_path,hkey_key
var hkey_root="HKEY_CURRENT_USER";
var hkey_path="//Software//Microsoft//Internet Explorer//PageSetup//";
function printpr()
{
var OLECMDID = 7;
var PROMPT = 1;
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(OLECMDID, PROMPT);
WebBrowser1.outerHTML = "";

}
function prin(){
 window.print();
}
function scrollPrint(){
 if(navigator.userAgent.indexOf("Firefox")>0){   
  prin();
 }else{
  printpr();
    }
}
</script>

<style media="print">
.Noprint { DISPLAY: none }
.PageNext{ PAGE-BREAK-AFTER: always }
</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值