【JS】学习记录【页面打印】
【JS】记录一下今天遇到的问题和解决方法
需求:所有的已发布的工单和标准要能打印,打印时隐藏页面所有按钮,效果如下。
问题一:隐藏按钮。
解决办法:
获取按钮,设置样式display=none;
function onPrint() {cui("#grid").setWidth(696);var toHide = document.getElementsByClassName("printHidden");for (var i = 0; i < toHide.length; i++) {toHide[i].style.display = "none";}window.document.body.innerHTML = document.documentElement.innerHTML;window.print();};
问题二:打印完成后页面的按钮消失。
解决办法:
打印完成或者关闭打印预览页后刷新页面。
window.onafterprint = function () {window.location.reload();
}
问题三:打印预览的表格显示不全。
解决办法:
表格每列设置宽度百分比,不用固定列宽,打印时设置表格整体宽度。
cui("#grid").setWidth(696); //这里用的康拓普前端框架CUI
问题三:太宽的表格默认设置横向打印。
解决办法:
加一个style。
<style type="text/css" media="print">@page { size: landscape; }
</style>
【补充】2019年11月25日19:36:23
问题三:IE浏览器宽度需要重新调整
解决办法:识别浏览器类型,window.onbeforeprint 打印之前设置表格宽度
window.onafterprint = function () {window.location.reload();}window.onbeforeprint = function () {var flag = isIE();if (!flag) {flag = isIE11();}if (flag) {cui("#xxx_grid").setWidth(626);} else {cui("#xxx_grid").setWidth(696);}}function isIE() {if (window.navigator.userAgent.indexOf("MSIE") >= 1) {return true;} else {return false;}}// ie11function isIE11() {if (!!window.ActiveXObject || "ActiveXObject" in window) {return true;} else {return false;}}
【JS】学习记录【页面打印】相关推荐
- php 跳转历史页面,js不记录页面跳转历史的解决方法
js不记录页面跳转历史的解决方法 在实际工作中,我们会遇到一个页面中有几个tab切换标签,tab切换是修改了浏览器地址",tab切换是默认记录到历史的.因此我们点击返回按钮的时候,不停的在几 ...
- JS怎么实现页面打印 JS实现页面打印的方法
JS实现页面打印 1.js实现(可实现局部打印) [html] <input id="btnPrint" type="button" value=&quo ...
- require.js学习记录
1.简介 官方对requirejs的描述: RequireJS is a JavaScript file and module loader. It is optimized for in-brows ...
- Cytoscape.js学习记录
记录学习Cytoscape.js的过程 官方教程 https://js.cytoscape.org/ 另有一篇别人的博文分享:cytoscape.js基础篇https://blog.csdn.net/ ...
- 我的three.js学习记录(一)
在之前因为项目需要使用WebGL技术做网页应用,但是苦于自己没有接触,只是使用过OpenGL.然后接触到了thre.js这个第三方库之后我突然心情很愉快,这将节省我很多时间. 过了这个项目之后,就再也 ...
- mock.js学习记录
mock介绍 为什么要使用mock.js呢?在系统的开发中,做前端的同学经在工作中常常面临一个问题:因为后端的接口迟迟不能做好而无法进行页面的调试,尤其在根据后端的数据做数据的动态展示的时候,这种情况 ...
- JS学习记录(BOM部分)
BOOM部分 Screen <html lang="en"> <head><meta charset="UTF-8">< ...
- C#学习记录——Windows打印控件
『多少事,从来急,天地转,光阴迫,一万年太久,只争朝夕.』-- 毛泽东语录 Windows打印控件 PageSetupDialog控件 PageSetupDialog控件用于设置页面详细信息以便打印. ...
- Auto.js学习记录
软件选择:通过在CSDN的查找发现了几款手机自动化脚本软件,例如:按键精灵.Auto.js等等.最后我选择了Auto.js .Auto.js共有三个版本:4.1.1版本.7.0.0版本和8.0.0版本 ...
- Node.JS 学习记录(02)
Node.js EventEmitter Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. Node.js 里面的许多对象都会分发事件:一个 net.Server 对象会在 ...
最新文章
- VVeboTableView 源码解析
- 算法基础知识科普:8大搜索算法之二叉搜索树(下)
- C# 将DataTable数据源转换成实体类
- 一步步解析Attention is All You Need
- linux名词解释目录文件,linux的常识及术语解释
- 01_什么是one-hot编码、one-hot编码过程详解、为什么需要one-hot编码?one-hot编码的优缺点、使用sklearn中的API举例
- PyTorch GPU安装指南 (Ubuntu 16.04 anaconda cuda8.0 cuDNN6.0)
- jQuery.ready() 函数详解
- json-C使用小结
- 学习强化学习无法避开的两个词:Model-Based与Model-Free
- NOIP2017普及组复赛 解题分析
- cad中直径符号不显示_CAD上明明有图,但是打印的时候不显示怎么办?原来要这样设置...
- Oracle9i学习之boobooke小布版001
- 谷歌浏览器打开普通用户_谷歌浏览器为啥打开之后会是其他的浏览器的解决步骤...
- 增大或者减小图片大小的方法
- go-cqhttp系列教程-三种消息类型的复述(私聊,群聊,频道)-3
- 设置Google连接burpsuite
- 5WHY分析法 学习笔记
- antdesign 柱状图_你绝对想不到柱形图背后有这么多故事
- 小程序微信商家API V3对接转账到零钱(JAVA)