亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

js實現(xiàn)瀏覽器打印功能的示例代碼

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

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

先上代碼

// 布局代碼<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>提貨點(diǎn):${this.ticket.pickUpAddress}</p> <p>商品名稱:${this.ticket.commodityName}</p> <p>下單時間:${this.ticket.paymentTime}</p> <p>提貨人:${this.ticket.receiver}</p> <p>聯(lián)系電話:${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進(jìn)行適配 var HKEY_Root, HKEY_Path, HKEY_Key; HKEY_Root = 'HKEY_CURRENT_USER'; HKEY_Path = 'SoftwareMicrosoftInternet ExplorerPageSetup'; //設(shè)置網(wǎng)頁打印的頁眉頁腳為空 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'); //鍵值設(shè)定--左邊邊界HKEY_Key = 'margin_top' Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, '0'); //鍵值設(shè)定--上邊邊界HKEY_Key = 'margin_right' Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, '0'); //鍵值設(shè)定--右邊邊界HKEY_Key = 'margin_bottom' Wsh.RegWrite(HKEY_Root + HKEY_Path + HKEY_Key, '0'); //鍵值設(shè)定--下邊邊界 } 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>提貨點(diǎn):${this.ticket.pickUpAddress}</p> <p>商品名稱:${this.ticket.commodityName}</p> <p>下單時間:${this.ticket.paymentTime}</p> <p>提貨人:${this.ticket.receiver}</p> <p>聯(lián)系電話:${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)

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

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

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

以上就是js實現(xiàn)瀏覽器打印功能的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于js 瀏覽器打印的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 九九精品免费观看在线 | 久久99精品久久久久久欧洲站 | 国产精品爱久久久久久久小 | 中国人黑人xxⅹ性猛 | 免费观看好看的国产片 | 亚洲成在人线免费视频 | 久久成人精品视频 | 国产成人免费视频 | 欧美一级视频免费看 | 亚洲第一区在线观看 | 九九线精品视频 | 国产精品思瑞在线观看 | 亚洲欧美小说色综合小 | 日韩精品久久久久久久电影99爱 | 久久综合一区 | 黄色成年人视频 | 成人午夜精品久久久久久久小说 | 一级呦女专区毛片 | 黄色网址入口 | 国产成人剧情 | 久久久这里有精品999 | 色cccwww在线播放 | 女人午夜色又刺激黄的视频免费 | 成人免费视频网址 | 一级毛片在线完整免费观看 | 女性一级全黄生活片 | 国产色窝 | 91久久精品国产亚洲 | 岛国毛片一级一级特级毛片 | 亚洲a在线观看 | 亚洲国产一区二区三区 | 在线播放国产色视频在线 | 五月狠狠亚洲小说专区 | 中文字幕国产在线 | 可以免费观看的一级毛片 | 日本特黄特黄刺激大片免费 | 免费毛片a线观看 | 日本vs黑人hd | 大人和孩做爰h视频在线观看 | 亚洲午夜视频在线观看 | 国产a v高清一区二区三区 |