js是如何实现浏览器打印功能的
最近接触到一个新需求,实现打印机打印小票的功能。打的一桌子小票(惭愧),不过也基本满足了业务上的需求,现在分享一下如何实现(好记性不如烂笔头)
先上代码
// 布局代码
//js 部分代码var f = document.getElementById(‘printf’); if (f) { document.getElementById(“print_content”).removeChild(f); } var printhtml = ` ${this.ticket.title} ————————————– 提货点:${this.ticket.pickUpAddress} 商品名称:${this.ticket.commodityName} 下单时间:${this.ticket.paymentTime} 提货人:${this.ticket.receiver} 联系电话:${this.ticket.receiverPhone} 提货码:${this.ticket.pickUpCode} 提货时间:${this.ticket.submissionTime} if (!!window.ActiveXObject || “ActiveXObject” in window) { // 针对IE进行适配 var HKEY_Root, HKEY_Path, HKEY_Key; HKEY_Root = “HKEY_CURRENT_USER”; HKEY_Path = “\\Software\\Microsoft\\Internet Explorer\\PageSetup\\”; //设置网页打印的页眉页脚为空 function PageSetup_Null() { 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, “”); HKEY_Key = “margin_left” Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, “0”); //键值设定–左边边界 HKEY_Key = “margin_top” Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, “0”); //键值设定–上边边界 HKEY_Key = “margin_right” Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, “0”); //键值设定–右边边界 HKEY_Key = “margin_bottom” Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, “0”); //键值设定–下边边界 } printhtml = ` ${this.ticket.title} ———————————————— 提货点:${this.ticket.pickUpAddress} 商品名称:${this.ticket.commodityName} 下单时间:${this.ticket.paymentTime} 提货人:${this.ticket.receiver} 联系电话:${this.ticket.receiverPhone} 提货码:${this.ticket.pickUpCode} 提货时间:${this.ticket.submissionTime} } var iframe = document.createElement(‘iframe’); iframe.id = ‘printf’; iframe.style.width = ‘0’; iframe.style.height = ‘0’; iframe.style.border = “none”; document.getElementById(“print_content”).appendChild(iframe); setTimeout(() => { iframe.contentDocument.write(printhtml); iframe.contentDocument.close(); iframe.contentWindow.focus(); iframe.contentWindow.print(); }, 100) |
以上就是代码示例js实现浏览器打印功能的详细内容,更多请关注网站的其它相关文章!