关于打印整个页面的,没什么好说的。今天我给大家分享一个打印指定区域的方法,你想打印哪里,就打印哪里!

我也是刚刚开始接触打印这一块功能的,然后当然是找度娘深入了解了一番啦,期间试了网上的各种方法,有的压根就没效果;

有的可以实现打印部分区域的页面,但是在打印界面会丢失样式,那样子界面会很丑;下面我会列出网上的部分方法,以及我的方法。(插件我没有试过~)

网上方法一:(该方法我在vue页面使用没有做到指定区域打印,而是打印全部)

网上方法二:(该方法我在vue页面使用可以做到打印部分区域,但是样式会丢失)

我的实现方法:

打印前的页面

点击打印按钮后的页面

实现方法思路:既然是打印页面,那么我们不妨逆向思维推一下,肯定是页面显示什么,就会打印什么,所以,,

我们可以在点击打印按钮的时候,把不需要打印的内容全部隐藏,就可以啦(偷笑)。各位大佬如果有更加好的方法,记得留言分享哦

methods: {
// 点击打印按钮
clickPrinting() {
// 找到需要隐藏的DOM节点
let head = document.getElementsByClassName('gd-biz-header')[0];
let printBtn = document.getElementsByClassName('right-side')[0];
let from1 = document.getElementById('menu2');
let from2 = document.getElementsByClassName('two')[0];
let fclbz1 = document.getElementById('menu3');
let fclbz2 = document.getElementsByClassName('tables')[0];
let footer = document.getElementsByClassName('footer')[0];
let allBtn = document.getElementsByClassName('allBtn')[0]; // 给对应DOM添加class
head.classList.add("printHideCss")
printBtn.classList.add("printHideCss")
from1.classList.add("printHideCss")
from2.classList.add("printHideCss")
fclbz1.classList.add("printHideCss")
fclbz2.classList.add("printHideCss")
footer.classList.add("printHideCss")
allBtn.classList.add("printHideCss") window.print(); // 调用打印功能
window.location.reload(); // 点击取消打印后刷新页面,恢复点击打印按钮之前的原始数据
},

版权声明:本文为博主原创文章,转载需注明出处。https://www.cnblogs.com/silent007/p/9960435.html

一个程序猿开了一个公众号,喜欢的朋友可以关注一下哦《时间的信箱》

***************************************    END   ***************************************

vue项目-打印页面中指定区域的内容(亲测有效!)的更多相关文章

  1. web页面实现指定区域打印功能

    web页面实现指定区域打印功能 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 详细如下: <style media=print type="t ...

  2. 前端Vue项目——登录页面实现

    一.geetest滑动验证 geetest官方文档地址:https://docs.geetest.com/ 产品——极速验证:基于深度学习的人机识别应用.极验「行为验证」是一项可以帮助你的网站与APP ...

  3. vue项目刷新页面,使数据不丢失(sessionStorage、localStorage、cookie)

    vue项目刷新页面时,存储在vuex中的数据会丢失,把他们存到stroage中可以保证不丢失.

  4. 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题

    基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...

  5. 微信小程序导出当前画布指定区域的内容并生成图片保存到本地相册(canvas)

    最近在学小程序,在把当前画布指定区域的内容导出并生成图片保存到本地这个知识点上踩坑了. 这里用到的方法是: wx.canvasToTempFilePath(),该方法作用是把当前画布指定区域的内容导出 ...

  6. Linux中oracle的安装,亲测

    一.下载oracle的软件包 地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-li ...

  7. 前端Vue项目——购物车页面

    一.加入购物车的两种策略 1.加入购物车接口 在 src/restful/api.js 中写入添加购物车接口: // 加入购物车的接口 export const shopCart = (params) ...

  8. VUE项目实现页面跳转

    打开一个VUE项目,目录结构是这样的: 如现在有两个页面aaa和HelloWorld,路由配置在index.js中: import Vue from 'vue' import Router from ...

  9. vue+element打印页面功能

    项目中遇到了要打印页面的功能,我感之前使用的是一个第三方的插件,但是不兼容IE,后来发现直接调用window的API就可以了,MMP // 打印表单 printBtn() { window.print ...

随机推荐

  1. ajax ★ ★ ★ ★ ★

    ajax 1   定义:  是创建交互式应用的网页交互技术 2    特点:无刷新.异步 3  中介数据类型: 1)  XML - 可扩展的标记语言                          ...

  2. [git] github上传项目(使用git)、删除项目、添加协作者

    来源:http://www.cnblogs.com/sakurayeah/p/5800424.html (怕链接失败,所以直接就就复制过来啦,感谢作者) 一.注册github账号 github网址ht ...

  3. .NET 4 实践 - 使用dynamic和MEF实现轻量级的AOP组件 (4)

    转摘 https://www.cnblogs.com/niceWk/archive/2010/07/23/1783394.html 借花献佛 前面我们介绍了构成DynamicAspect绝大部分的类, ...

  4. web前端该怎么入门?web前端入门教程(非常详细)

    初学编程的小伙伴经常会遇到的问题,1.没资源 2.没人带 3.不知道从何开始 ,小编也是从新手期过来的,所以很能理解萌新的难处,现在整理一些以前自己学习的一些资料送给大家,希望对广大初学小伙伴有帮助! ...

  5. vagrant + 宝塔 环境搭建遇到的一些问题

    1.js时间戳单位为毫秒,php时间戳为秒. 2.tp里的where()方法如果where("id=".$id)不能用的话就用数组形式的:where(array("id& ...

  6. Android应用程序开机开机启动

    有很过情况都需要Android程序开机自启,也就是在手机开机之后马上执行相应的Android程序. 实现的方法就是,在手机开机的时候接受相应的广播,在Android程序中接受相应的广播. 第1步:建立 ...

  7. java中FutureTask的使用

    文章目录 FutureTask简介 Callable和Runnable的转换 以Runnable运行 java中FutureTask的使用 FutureTask简介 FutureTask是java 5 ...

  8. 基于NFS共享存储实现KVM虚拟机动态迁移

    基于NFS共享存储实现KVM虚拟机动态迁移 一:配置环境 二:安装相关的依赖包 三:实现NFS共享存储 四:KVM机配置相同的步骤 五:安装KVM01安装虚拟机 六:实现迁移  实验初始配置:所有主机 ...

  9. Ansible安装部署

    Ansible安装部署 Ansible是一种集成IT系统的配置管理, 应用部署, 执行特定任务的开源平台. 它基于Python语言实现, 部署只需在主控端部署Ansible环境, 被控端无需安装代理工 ...

  10. 10)drf 过滤器(条件查询 排序 ) 分页器

    一.群查接口各种筛选组件 数据准备 models.py class Car(models.Model): name = models.CharField(max_length=16, unique=T ...