web打印功能

<div class="end hide"id="home7">
        <img src="images/endImg.png"style="margin: 0px auto;width: 100px;height: 100px;display: block;">
        <p class="endName"></p>
        <div style="background-color: #f9f9f9;padding: 25px;padding: 20px"id="home7-text">
         </div>
        <div style="display: flex;justify-content: space-around;margin-top: 20px;">
            <p class="endName-btn printTicket"onclick="printTicket()">打印小票</p>
        </div>
    </div>

html页面准备好了,接下来就是打印唤起web页面的打印

//打印小票
function printTicket() {
//创建iframe
    const iframe = document.createElement('IFRAME');
// iframe 不展示在页面
    document.body.appendChild(iframe)
    var doc = iframe.contentWindow.document;
//获取需要打印的局部页面的DOM
    let el = document.getElementById("home7-text");
//需要渲染打印的页面
  let  contentHtml=`<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head" runat="server">
        <title>
            <asp:ContentPlaceHolder runat="server" ID="TitleContent" />
        </title>
    </head>
    <body>
           <div>
             <div style="font-size: 14px;text-align: center;">-----顾客存根-----</div>
              <div style="font-size: 10px;margin: 0;padding: 0"> ${el.innerHTML}</div>
         </div>
         <div style="margin: 5px 0">**************************</div>
         <div>
             <div style="font-size: 14px;text-align: center;">-----门店存根-----</div>
             <div style="font-size: 10px">
             <div style="font-size: 10px;margin: 0;padding: 0"> ${el.innerHTML}</div>
             </div>
         </div>
    </body>
</html>`
    doc.write(contentHtml); //要打印区域中写入要打印内容
    doc.close(); // 某些浏览器中不关闭该区域的话无法调用print方法
    iframe.contentWindow.focus();
    //唤起打印机打印
    iframe.contentWindow.print();
    //清空打印内容
    document.body.removeChild(iframe);
}

自此打印功能就完成了