【Functions】前端打印页面指定内容的两种方式

新窗口打印

参数:

  • printRef是指打印内容最外层标签的Ref值
  • 测试打印文本为打印页面的title标题
	let obj = ticketRef.value
	let newWindow = window.open()
	// var newWindow = window.open("","_top")
	let docStr = obj.innerHTML
	newWindow.document.write(docStr)
	newWindow.document.title = '测试打印'
	newWindow.document.close()
	setTimeout(function () {
		newWindow.print()
		// newWindow.close();
	}, 10)

iframe浏览器弹窗打印

参数:

  • printWindow为打印内容最外层的标签
  const el = document.getElementById('winprint')
  const iframe: any = document.createElement('IFRAME')
  let doc = null
  //让iframe结构隐藏不显示
  iframe.setAttribute('style', 'position:absolute;width:0px;height:0px;left:500px;top:500px;')
  document.body.appendChild(iframe)
  doc = iframe.contentWindow.document
  doc.write(el.innerHTML)
  doc.close()
  // 获取iframe的焦点,从iframe开始打印
  iframe.contentWindow.focus()
  iframe.contentWindow.print()

Tips: 页面打印内容的样式需要是行内样式才会生效…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值