原生js打印指定节点元素

很简单(可粘贴至txt文档后改后缀为html打开看效果):

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>打印</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<div>
    <span style="color:red">这里不打印 !!!</span>
</div>

<div id="printDiv">
    <span style="color:green">打印这里!!</span>
</div>
<button onclick="print()">打印</button>

<script>
    function print(){
        // 设置要打印内容的 id: printDiv
        const WindowPrt = window.open('', '打印', 'width=' + (screen.availWidth - 10) + ',height=' + (screen.availHeight - 50) + ',left=0,top=0,location=0,menubar=0,toolbar=0,scrollbars=0,status=0'); // 裸全屏
        WindowPrt.document.head.innerHTML = window.document.head.innerHTML // 加入当前所有头 - 以防样式丢失
        WindowPrt.document.body.innerHTML = document.getElementById('printDiv').innerHTML; // 载入指定body
        WindowPrt.print() // 调用打印
        WindowPrt.close() // 自动等待print结束后执行
    }
</script>

</body>
</html>

将此方法放在主页,传入参数,实现公用(用原生onclick()事件调用):

<script>
    // 打印
    var rootPrint = function (elId) {
      // 设置要打印内容的 id: elId
      const WindowPrt = window.open('', '打印', 'width=' + (screen.availWidth - 10) + ',height=' + (screen.availHeight - 50) + ',left=0,top=0,location=0,menubar=0,toolbar=0,scrollbars=0,status=0'); // 裸全屏
      WindowPrt.document.head.innerHTML = window.document.head.innerHTML // 加入当前所有头 - 以防样式丢失
      WindowPrt.document.body.innerHTML = document.getElementById(elId).innerHTML; // 载入指定body
      WindowPrt.print() // 调用打印
      WindowPrt.close() // 自动等待print结束后执行
    }
  </script>
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值