国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

js實現瀏覽器打印功能的示例代碼

瀏覽:115日期:2024-04-30 14:31:55

最近接觸到一個新需求,實現打印機打印小票的功能。打的一桌子小票(慚愧),不過也基本滿足了業務上的需求,現在分享一下如何實現(好記性不如爛筆頭)

先上代碼

// 布局代碼<div id='print'> <div id='print_content'></div></div>//js 部分代碼var f = document.getElementById(’printf’); if (f) { document.getElementById('print_content').removeChild(f); } var printhtml = ` <div style='font-size:12px;margin-left: -6px;'> <p style='margin-left:40px;'>${this.ticket.title}</p> <p>--------------------------------------</p> <p>提貨點:${this.ticket.pickUpAddress}</p> <p>商品名稱:${this.ticket.commodityName}</p> <p>下單時間:${this.ticket.paymentTime}</p> <p>提貨人:${this.ticket.receiver}</p> <p>聯系電話:${this.ticket.receiverPhone}</p> <p>提貨碼:${this.ticket.pickUpCode}</p> <p>提貨時間:${this.ticket.submissionTime}</p> <p style='color:#FFFFFF'>.</p> </div>` if (!!window.ActiveXObject || 'ActiveXObject' in window) { // 針對IE進行適配 var HKEY_Root, HKEY_Path, HKEY_Key; HKEY_Root = 'HKEY_CURRENT_USER'; HKEY_Path = 'SoftwareMicrosoftInternet ExplorerPageSetup'; //設置網頁打印的頁眉頁腳為空 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 = ` <div style='font-size:12px;font-weight: 800;height:150px;width:300px'> <p style='margin-left:35px'>${this.ticket.title}</p> <p>------------------------------------------------</p> <p>提貨點:${this.ticket.pickUpAddress}</p> <p>商品名稱:${this.ticket.commodityName}</p> <p>下單時間:${this.ticket.paymentTime}</p> <p>提貨人:${this.ticket.receiver}</p> <p>聯系電話:${this.ticket.receiverPhone}</p> <p>提貨碼:${this.ticket.pickUpCode}</p> <p>提貨時間:${this.ticket.submissionTime}</p> <p style='color:#FFFFFF;font-weight: 100;'>.</p> </div>` } 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)

因為要求不能把打印的數據顯示在頁面上,所以通過iframe的方式去實現。單純的截取字符串重新賦值body內容能進行打印卻把打印的內容展現在頁面中了,所以不行。

打印針對IE的瀏覽器進行了一定程度的調整,IE打印要做特定的處理,詳見上面判斷代碼。打印內容通過模板字符串加內聯樣式去實現。滿足了基本需求。

是否應該也通過截取頁面字符串的方式去做可能比較浪費性能些,為什么這么說?因為樣式在打印的小票上有一定程度的偏差,修了東墻破了西墻,只能采取相對的方式取舍。如果這種寫法不滿足,可以采取截取字符串寫class嘗試。

以上就是js實現瀏覽器打印功能的示例代碼的詳細內容,更多關于js 瀏覽器打印的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 亚洲精品福利一区二区三区 | 亚久久伊人精品青青草原2020 | 成人区在线观看免费视频 | 91精品国产91热久久久久福利 | 亚洲 欧美 都市 自拍 在线 | 狠狠综合久久 | 七七国产福利在线二区 | 国产高清一级视频在线观看 | 国产在线不卡免费播放 | 全免费a级毛片免费毛视频 全午夜免费一级毛片 | 亚洲综合欧美综合 | 亚洲精品不卡久久久久久 | 黄在线观看网站 | 久久久久国产一级毛片高清板 | 在线免费观看欧美 | 国产一级黄毛片 | 手机亚洲第1页 | 男人扒开双腿女人爽视频免费 | 欧美自拍网 | 国产手机国产手机在线 | 欧美一级三级 | 纯欧美一级毛片_免费 | 亚洲精品天堂一区在线观看 | 精品视频一二三区 | 香港三级日本三级三级人妇 | 国产成人免费永久播放视频平台 | 久久亚洲国产欧洲精品一 | 欧美人牲囗毛片 | 男人女人做性全程视视频 | 91精品全国免费观看 | 日本一区不卡视频 | 国产精品18久久久久网站 | 孩交啪啪网址 | www.久久爱.com| 日韩中文在线观看 | 成人三级在线播放 | 久久亚洲视频 | 性久久久久久久 | 久久99国产乱子伦精品免 | 欧美一级视频在线观看 | 欧美一级毛片怡红院 |