vue中实现window.print()打印功能遇到的几个坑

之前做过打印pdf功能,现在是打印当前页面,使用window.print()可以打印,不过遇到的坑比较多,先给大家介绍下项目背景,我们使用vue+element UI这一套。
第一坑,点击打印按钮,会弹出预览打印的弹窗,原生的js打印会压缩页面,会打乱你之前的布局,这时候又是你头疼的时候,刚tm调好的样式,怎么又要调,不过再怎么发牢骚,工作还得继续,这时候需要我们手动去调整预览打印的弹窗的CSS样式。

此处的 #printMe1 表示当前要打印页面开始的div的id值。

第二坑,当你的打印预览弹窗的内容只有一页时,你一点击打印按钮,走到打印机跟前,神奇的事情发生了,这时候你一看,卧槽怎么还有一页白纸,当你回过头来看打印预览弹窗的时候,发现预览弹窗上显示两页,这时候你会在想,明明是一页内容怎么会打印两页呢?刚开始问题定位在js打印样式上面,各种修改样式,结果都是打印两页,百思不得其解,于是我翻遍了百度,有的帖子都翻了好几十遍了,都没能解决我的问题,但小编仍然坚持着,相信肯定会真相大白的。正当我垂头丧气的时候,突然脑袋里灵光一闪,小编开始删代码,这里删代码肯定不是要跑路,而是排查问题的一种思路,请大家不要多想,果不其然,还是逃不过本座的火眼金睛。

都是这个妖魔鬼怪在作祟。

vue中实现window.print()打印功能遇到的几个坑相关推荐

  1. 关于window.print打印分页功能

    平常window.print分页一般打印时用到page-break-after:always; 打印的样式设置在 <style type="text/css" media=& ...

  2. window.print()打印网页局部内容

    用window.print()打印网页局部内容 今天客户让添加个打印证照功能,直接用window.print()打印的是整个页面,而用以下方法就可以只打印证明了 <!--window.print ...

  3. page-break-after:always;解决window.print打印断页问题——已解决

    今天用户提出一个关于window.print()打印的问题: 如下图所示:在打印断页的部分,会出现数据打印不全的情况.打印预览与实际打印的情况还有有所区别. 注意一点:如果想要实现window.pri ...

  4. 指定window.print 打印区域

    第一种方法:指定不打印区域 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 细如下: ? 1 2 3 <style media=print type=&q ...

  5. VUE整合VUE-PRINT-NB实现前端打印功能

    VUE整合VUE-PRINT-NB实现前端打印功能 插件安装 npm install vue-print-nb --save 插件安装时最好在package.json中同时加入依赖信息,便于项目上其他 ...

  6. 使用window.print()打印局部页面,ifrme打印ie报错

    问题: 使用window.print();打印页面,将不需要的数据隐藏,将需要的数据显示,打印完成之后将刚才隐藏的数据还原,显示的数据隐藏, 谷歌浏览器.部分ie能一气呵成,  火狐浏览器以及少数ie ...

  7. vue中可编辑div添加@功能

    简介 1.有默认值情况下,光标自动定位到最后 2.按@键,或者@+shift组合键,可添加被@姓名 3.可整体删除@姓名 4.在光标位置插入指定html元素 如图所示 源码(复制另存txt,修改.ht ...

  8. 在 vue 中使用 window.onresize及div的resize事件

    项目场景: 如何在 vue 中使用 window.onresize 如何避免 覆盖其它的 window.onresize 手动触发 window.onresize echarts 监听图表容器的大小并 ...

  9. window.print打印指定div-打印网页指定区域

    第一种方法:指定不打印区域 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 细如下: <style media=print type="text ...

  10. Window Server 2008中开启Window Media Player功能

    Window Server 2008中开启Window Media Player功能 服务器管理器 功能 优质Windows音频视频体验 打勾 安装 其它功能有: 桌面休验 等.... the end ...

最新文章

  1. ddd模型的pom版本怎么管理_DDD 中的那些模式 — CQRS
  2. 《系统集成项目管理工程师》必背100个知识点-72配置管理的主要活动
  3. 关于六年级定格动画计算机教案,谈定格动画在中小学课堂教学中的开展
  4. 基于Vue-cli和Vux的webpack配置
  5. Windows Nano Server安装配置详解03:远程管理Nano Server
  6. POJ 2054 Color a Tree
  7. 一瓦同城-给新人第四天培训
  8. explain for connection用法
  9. rk3288 android5.1 java 层使用 su 获取 root 权限
  10. Spring 框架学习 有用
  11. ML/DL-复习笔记【八】- 信息熵与相对熵(KL散度)
  12. 17 张程序员专属壁纸,太太太太太太骚了…
  13. 瑞吉外卖项目1 + 源码
  14. 用ajax来上传图片,AJAX上传图片,使用ajaxupload
  15. 雷锋实验室: 伦敦奥运会手机应用盘点
  16. 第六章 类与对象 类的包含
  17. 安全教育平台登录显示服务器繁忙,安全教育平台登录失败是怎么回事 解决方法...
  18. 安装完黑苹果之后该做的事情
  19. 推荐几本学习Java的教材
  20. iOS开发可以调节屏幕亮度并且上传APPstore

热门文章

  1. 2018美国大学计算机科学,美国大学计算机2018最新排名
  2. elementUI 日期时间选择器el-date-picker开始时间与结束时间约束
  3. linux 安装 navicat
  4. iOS越狱之Mac登录iPhone
  5. MySQL数据库学习日志(一):数据库概述及SQL语言基础
  6. 9020cdn更换墨粉_感动常在!佳能ts9020打印机更换墨盒经验
  7. android 随机昵称,按键安卓版随机起名代码
  8. matlab空间面板门槛,重磅!这可能是最全的面板门槛回归汇总了
  9. 导入、配置Vuetify遇到的的几个问题
  10. 电脑32位和64位有什么区别