window.print()详解

可以通过window.print()对当前页面进行打印,调用这个函数和点击IE菜单栏中的“打印”作用是一样的,这个函数在调用时还会触发html的两个事件:onbeforeprint,onafterprint对于在打印时页面中不想打印的元素可以在onbeforeprint这个时间的处理函数中进行屏蔽,一般是让该元素不显示,style.display="none",onafterprint是打印后会触发的事件。

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) 打开 
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
WebBrowser.ExecWB(4,1) 保存网页 
WebBrowser.ExecWB(6,1) 打印 
WebBrowser.ExecWB(7,1) 打印预览 
WebBrowser.ExecWB(8,1) 打印页面设置 
WebBrowser.ExecWB(10,1) 查看页面属性 
WebBrowser.ExecWB(15,1) 好像是撤销,有待确认 
WebBrowser.ExecWB(17,1) 全选 
WebBrowser.ExecWB(22,1) 刷新 
WebBrowser.ExecWB(45,1) 关闭窗体无提示

在进行打印时可能出现网页右边不能显示,好像被剪掉一样,这样网页内容显示不全,如果在你的网页中一行上出现了很多个文本输入框,而又没有设置这些文本框的宽度,那么可能出现右边显示不到,好像背剪似地,这时你可以文本框的样式做适当缩小,如果你是放在表格中,那么只需要缩小表格的宽度,然后再把文本的宽度样式设置为:style="width:100%"即可。

页眉页脚的问题:
用到active控件:
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)
    {}

}
相应的js方法只要在打印前调用即可如:在onbeforeprint事件的处理器中调用PageSetup_Null(),然

后再onafterprint事件的处理器中调用PageSetup_Default()

转载于:https://my.oschina.net/junzizhiyao/blog/185166

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值