JS打印HTML

发布时间 2023-10-10 16:37:55作者: 知九
doPrint (printHtml) {
// 判断iframe是否存在,不存在则创建iframe
      let iframe = document.getElementById('print-iframe')
      if (!iframe) {
        iframe = document.createElement('IFRAME')
        let doc = null
        iframe.setAttribute('id', 'print-iframe')
        iframe.setAttribute('style', 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;')
        document.body.appendChild(iframe)
        doc = iframe.contentWindow.document
        // 这里可以自定义样式
        doc.write('<style type="text/css">td {border: 1px solid #000 !important;}</style>')
        doc.write(printHtml)
        doc.close()
        iframe.contentWindow.focus()
      }
      iframe.contentWindow.print()
      if (navigator.userAgent.indexOf('MSIE') > 0) {
        document.body.removeChild(iframe)
      }
    }