javascript打印html页面

一、HTML设置

1.在html中设置标记

<div id="print_html">
    这里是要打印的html内容
</div>
<!--startprint-->
  这里是要打印的html内容
<!--endprint-->

二、JS打印页面

/*
 * 打印页面
 */
function printHTML(_this){
    // 获取当前页的html代码
    var bdhtml = window.document.body.innerHTML;
    /*//设置打印开始区域
    //var startStr = '<!--startprint-->';
    // 设置打印结束区域
    //var endStr = '<!--endprint-->';
    //从标记里获取需要打印的页面
    var printHtml = bdhtml.substring(bdhtml.indexOf(startStr) + startStr.length, bdhtml.indexOf(endStr));*/
    //隐藏不必要的按钮和样式
    // 通过id获取需要打印的页面
    var printHtml = document.getElementById('print_html').innerHTML;
    // 需要打印的页面
    window.document.body.innerHTML = printHtml;
    if (!!window.ActiveXObject || "ActiveXObject" in window) { //是否ie
        remove_ie_header_and_footer();
     }
    window.print();
    // 还原界面
    window.document.body.innerHTML = bdhtml;
    window.location.reload();
}

三、部分浏览器自带页眉页脚,需要去掉

1.在head中添加样式

<style media="print">
    @page {
        size: auto;
        margin: 0mm;
    }
</style>

2.去掉页眉页脚的js代码

//去掉页眉、页脚
function remove_ie_header_and_footer() {
    var hkey_path;
    hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    try {
       var RegWsh = new ActiveXObject("WScript.Shell");
       RegWsh.RegWrite(hkey_path + "header", "");
       RegWsh.RegWrite(hkey_path + "footer", "");
    } catch (e) {
    }
}
本文出处:https://blog.csdn.net/pdy8023/article/details/80340572

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值