js打印window.print()图片打印
1. 这里用的是A4纸,设置打印表格属性(width:100%,height:980px)
2.由于打印可能存在多页,所以heightt属性必须严格控制。
3.由于自己是先隐藏不需要打印的DIV,然后显示需要打印的DIV。当需要打印的DIV存在图片等资源导致加载较慢时。window.print又是异步的,所以存在图片没加载完就打印的情况。
解决方案:判断图片是否加载完成,加载完成在调用打印。(直接.onload不行,当浏览器有 缓存时不会进入方法)
var t_img; // 定时器
var isLoad = true; // 控制变量(判断图片是否 加载完成)
isImgLoad(function(){//判断全部打印图片加载完成
window.print();
// 加载完成
});
//判断图片加载的函数
function isImgLoad(callback){
// 查找所有打印图,迭代处理
$('.printImg').each(function(){
// 找到为0就将isLoad设为false,并退出each
if(this.height === 0){
isLoad = false;
return false;
}
});
// 为true,没有发现为0的。加载完毕
if(isLoad){
clearTimeout(t_img); // 清除定时器
// 回调函数
callback();
// 为false,因为找到了没有加载完成的图,将调用定时器递归
}else{
isLoad = true;
t_img = setTimeout(function(){
isImgLoad(callback); // 递归扫描
},500); // 我这里设置的是500毫秒就扫描一次,可以自己调整
}
}
js打印window.print()图片打印相关推荐
- js 调用window.print()方法打印
目的:打印功能实现,添加水印 步骤: 1.写好jsp页面 2.写打印方法 即window.print()打印当前页面,如果只想打印部分页面的话,可以截取该部分赋值给body即可 3.调用打印方法即可 ...
- js使用window.print()实现打印功能
js使用window.print()来实现打印功能 1.首先在需要打印的内容标签上面绑定ref <div ref="tableRef">需要打印的内容 </div ...
- js的window.print()打印背景图片,打印背景图片无法显示
js的window.print()打印背景图片 题目描述 js的window,print()打印背景图片给body加了图片地址之后,非要设置浏览器打印选项里面设置背景图形打印才行,怎么通过js去设置默 ...
- ie调用window.print批量打印数据表格。
需求 根据勾选的checkbox,一次将数据打印出来. 注意 1,我第一次是用循环一次一次调用window.print方法,想把数据一张一张打出来.结果因为输入输出流的问题,这样是一个死路. 取巧的思 ...
- 浏览器打印 之 window.print() 设置打印样式和内容
项目中用的是谷歌浏览器,js 执行 window.print() 就会调用谷歌浏览器的打印功能. 打印其实打印的是整个当前网页,只是用媒体查询(@media print)把网页中要打印的内容做了显示, ...
- 关于页面打印window.print()的样式问题
当我们打印网页的时候.有时候会发现.打印出来的.跟网页上看到的样式的差别有点大.这其中可能有的问题是.样式问题. 当调用打印(window.print())方法时.打印机会在网页的样式中查找 @med ...
- js 实现用window.print()打印页面中的部分内容,局部打印
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 如下方法: function printProof(){var printData = docume ...
- js使用页面打印window.print() 记录,并进行缩放打印
//打印print:function(){//获取打印的页面内容let subOutputRankPrint = document.getElementById('print-div');let ne ...
- html打印页面设置缩放,js使用页面打印window.print() 记录,并进行缩放打印
//打印 print:function(){ //获取打印的页面内容 let subOutputRankPrint = document.getElementById('print-div'); le ...
最新文章
- c#chart背景透明_C# 二
- H.264 基础及 RTP 封包详解
- Ubuntu下架设FTP服务器(转)
- boost::gil::is_bit_aligned用法的测试程序
- 转 JavaScript传值及.Net传值方式总结
- 【jzoj】2018/2/2 NOIP普及组——D组模拟赛
- 大数据平台构建_如何像产品一样构建数据平台
- 详解 | 求你别用效率低下的I/O了,要不试试这种I/O
- 正面刚谷歌苹果,diss了BAT及友商,商汤科技说自己是一只“黑羊”
- 1.OAuth 简介
- 谷歌浏览器下载更新(附带谷歌安装包百度云)
- 对Movielens数据集进行评分预测
- 9月30日skype事件
- 非正态分布数据转换成正态分布
- 移动硬盘使用mysql_移动硬盘如何正确使用才好?
- 全文搜索 full-text search
- 51单片机74ls273并行输出地址c语言程序,跑马灯/输入输出接口(片选地址74LS273)...
- 京东 探索星球瓜分 1000 亿京豆 脚本
- Springer的投稿模板LLNCS类使用教程
- STM8开发实例-时钟系统(CLK)
热门文章
- 今天好无聊……悟空……你变成女妖精吧……
- 替代SSD?Crossbar进军中国存储市场
- 微信加不了公众号服务器繁忙,微信公众号系统繁忙是怎么回事
- 春招面试阿里,面试官让我说说Java8的新特性
- deepin v20桌面bug_“国产”Deepin桌面操作系统V20 正式版
- Java小程序post如何传参,微信小程序向Java后台传输参数的方法实现
- ElasticSearch索引生命周期管理(ILM)
- 【HNOI模拟By lyp】Day2
- 下列不能用作存储容量单位的是
- 好佳居软装十大品牌 软装拥有与众不同的体验