国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

html 打印相關(guān)操作與實(shí)現(xiàn)詳解

2024-08-26 00:14:02
字體:
供稿:網(wǎng)友

原理為調(diào)用 window.print() 方法,但是該方法只能對(duì)當(dāng)前頁面全部打印,所以有了以下方案來解決局部打印

1: 利用 iframe 將需要打印的元素和樣式注入 再調(diào)用打印

// 示例代碼function print () {    let ifElement = document.getElementById('ifId')    const addHtmlPrint = () => {        const content = ifElement.contentWindow || ifElement.contentDocument        content.document.body.innerHTML = this.detailTable        const styleEle = document.createElement('style')        /* 去掉打印時(shí)的頁頭和頁腳 */        styleEle.innerHTML = '@media print {@page { margin: 5mm; }}'        content.document.getElementsByTagName('head')[0].appendChild(styleEle)        /* 保障 iframe 中資源加載完成,圖片要用 img 形式引入 */        ifElement.onload = () => {            content.print()        }    }    this.getDetailTable()    if (ifElement) {        // 若已經(jīng)創(chuàng)建,則直接打印        addHtmlPrint()    } else {        ifElement = document.createElement('iframe')        ifElement.setAttribute('id', 'ifId')        ifElement.setAttribute('style', 'display:none')        document.body.appendChild(ifElement)        addHtmlPrint()    }}

2: 利用 @media print,在當(dāng)前頁面設(shè)置打印操作時(shí)需要隱藏的元素

@media print{    /* 這里將不需要打印的元素設(shè)置為不顯示 */    .hidden-element{        display:none;        /* visibility:hidden; */    }    /*紙張?jiān)O(shè)置為寬1200px 高800px*/    @page{        size:1200px 800px;    }}
  • <link href="/example.css" media="print" rel="stylesheet" /> 標(biāo)注打印時(shí)才會(huì)采用的樣式
  • 監(jiān)聽打印事件 window.addEventListener('beforeprint|| afterprint', ()=> {});

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 武汉市| 河间市| 平乡县| 昌乐县| 太湖县| 濉溪县| 澄迈县| 中牟县| 海林市| 历史| 五峰| 柳江县| 嘉祥县| 扎囊县| 固镇县| 抚顺县| 阳新县| 博罗县| 彭水| 平谷区| 抚松县| 雷州市| 西林县| 呼伦贝尔市| 晋城| 九龙坡区| 衡阳县| 江山市| 固原市| 习水县| 博爱县| 乌鲁木齐县| 荔浦县| 甘洛县| 咸阳市| 陇西县| 石首市| 博客| 交口县| 水城县| 东乡族自治县|