如何打印页面中的指定元素

方法一:

function Print(){
        var head_str = "<html><head><title></title></head><body>"; //先生成头部
        var foot_str = "</body></html>"; //生成尾部
        var older = document.body.innerHTML;
	var new_str = document.getElementsByClassName('blog-content-box')[0].innerHTML; //获取指定打印区域
        document.body.innerHTML = head_str + new_str + foot_str; //构建新网页
        window.print(); //打印刚才新建的网页
        document.body.innerHTML = older; //将网页还原
        return false;
};
Print();

大概就是在当前页面直接对内容进行修改并打印然后还原,这样下来有个问题,重建后的页面上所有的方法都会失效,也就是整个页面都无法使用了。

方法二:

编写一个专门的打印页,里面只存放需要打印的内容,从父组件传递参数至打印页,在打印页调用接口获取数据,然后使用以下方法

    print() {
      setTimeout(() => {
        window.print()
        this.$router.go(-1)
      }, 1000)
    },

就可以调出系统打印页,并在打印完成后返回原页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值