免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

如何使用js實現(xiàn)瀏覽器打印功能-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)服務(wù)項目包括平輿網(wǎng)站建設(shè)、平輿網(wǎng)站制作、平輿網(wǎng)頁制作以及平輿網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平輿網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平輿省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

如何使用js實現(xiàn)瀏覽器打印功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

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

先上代碼

// 布局代碼
<p id="print">
    <p id="print_content"></p>
</p>
//js 部分代碼var f = document.getElementById('printf');
   if (f) {
    document.getElementById("print_content").removeChild(f);
   }
   var printhtml = `
   <p 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>
   </p>`
   if (!!window.ActiveXObject || "ActiveXObject" in window) { // 針對IE進(jìn)行適配
    var HKEY_Root, HKEY_Path, HKEY_Key;
    HKEY_Root = "HKEY_CURRENT_USER";
    HKEY_Path = "\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    //設(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 = `
    <p 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>
    </p>`
   }
   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嘗試。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。

網(wǎng)頁標(biāo)題:如何使用js實現(xiàn)瀏覽器打印功能-創(chuàng)新互聯(lián)
當(dāng)前地址:http://m.newbst.com/article46/dcechg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)外貿(mào)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作軟件開發(fā)服務(wù)器托管面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營