js打印功能(调用window.print())

355 阅读1分钟
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta http-equiv="Access-Control-Allow-Origin" content="*">    <title>Title</title></head><style>    .wrap {        font-size: 12px;        padding: 5px;        /* width: 100px; */        box-sizing: border-box;    }    .item {        display: flex;    }    .foot {        display: flex;    }    .foot .right {        width: 50px;        height: 50px;    }</style><body>    <!--startprint-->    <div class="wrap">        <div class="item">            <span>门店:</span>            <div class="address"></div>        </div>        <div class="item">            <span>订单号:</span>            <div class="orderNum"></div>        </div>        <div class="item">            <span>核销时间:</span>            <div class="verificationTime"></div>        </div>        <hr>        <table>            <thead>                <tr>                    <th>商品名称</th>                    <th>数量</th>                    <th>单价</th>                    <th>小计</th>                </tr>            </thead>            <tbody>                <tr>                    <td>宠物家e卡</td>                    <td>1</td>                    <td>2000.00</td>                    <td>2000.00</td>                </tr>            </tbody>        </table>        <hr>        <div class="item">            <span>支付方式:</span>            <div class="verificationTime"></div>        </div>        <div class="item">            <div class="left">                <span>e卡折扣:</span>                <div class="verificationTime"></div>            </div>            <div class="right">                <span>微信支付:</span>                <div class="verificationTime"></div>            </div>        </div>        <div class="item">            <span>实收:</span>            <div class="verificationTime"></div>        </div>        <div class="item">            <span>客户手机号:</span>            <div class="verificationTime"></div>        </div>        <div class="item">            <span>门店地址:</span>            <div class="address"></div>        </div>        <div class="foot">            <div class="left">                <p>谢谢惠顾,欢迎下次光临</p>                <p>请在一个月内凭小票白联开具发票</p>                <p>活动:新店开业,商品8折,服务5折</p>                <p>服务热线:4000300011</p>                <p>宠物家官网:http://www.ichongwujia.com/</p>            </div>            <img class="right"                src="http://dev-pet-avatar.oss-cn-beijing.aliyuncs.com/html5/15756236110413600831.png" alt="">        </div>    </div>    <!--endprint-->    <button onclick="doPrint()">打印</button></body><script src="http://p8sv0x8g6.bkt.clouddn.com/jquery-2.1.1.min.js"></script><script>    setTimeout(()=>{        console.log(document.getElementsByClassName('address'))        document.getElementsByClassName('address')[0].innerHTML="地址123123123";        window.onload=doPrint();    },1000)    function doPrint() {        bdhtml = window.document.body.innerHTML;        sprnstr = "<!--startprint-->"; //开始打印标识字符串有17个字符        eprnstr = "<!--endprint-->"; //结束打印标识字符串        prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17); //从开始打印标识之后的内容        prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容        window.document.body.innerHTML = prnhtml; //把需要打印的指定内容赋给body.innerHTML        window.print(); //调用浏览器的打印功能打印指定区域        window.document.body.innerHTML = bdhtml; // 最后还原页面    }</script></html>