JS 使用 window对象的print方法实现分页打印功能


Posted in Javascript onMay 16, 2018

最近做项目用到了web在线打印功能,经研究使用了JS自身支持的Window对象的打印方法,此种方法兼容性比较好,在IE和火狐浏览器下使用都没有问题。 

1.但是网上好多案例都不支持分页功能,最后通过CSS的page-break-after:always样式解决分页问题,以下代码纯个人编写,有需要的朋友可以直接复制到网页中使用,转载请注明出处,谢谢! 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>无标题文档</title> 
<script language="javascript"> 
//打印代码 
 function Print()  
 {  
  var printStr = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head><body >"; 
  var content = ""; 
  var str = document.getElementById('page1').innerHTML;  //获取需要打印的页面元素 ,page1元素设置样式page-break-after:always,意思是从下一行开始分割。 
  content = content + str; 
  str = document.getElementById('page2').innerHTML;  //获取需要打印的页面元素 
  content = content + str; 
  printStr = printStr+content+"</body></html>";            
  var pwin=window.open("Print.htm","print"); //如果是本地测试,需要先新建Print.htm,如果是在域中使用,则不需要 
  pwin.document.write(printStr); 
  pwin.document.close();     //这句很重要,没有就无法实现 
  pwin.print();  
 } 
</script> 
</head> 
<body > 
<div><input type="button" value="打印" onclick="Print()" /></div> 
<div id="page1"> 
  <table width="100%" border="0" cellpadding="0" cellspacing="0" style="page-break-after:always" > 
  <tr><td>第一页打印内容</td></tr> 
  </table> 
</div> 
<div id="page2"> 
  <table width="100%" border="0" cellpadding="0" cellspacing="0" id="content" > 
  <tr><td>第二页打印内容</td></tr> 
  </table> 
</div> 
</body> 
</html>

总结

以上所述是小编给大家介绍的JS 使用 window对象的print方法实现分页打印功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
jquery图片倾斜层叠切换特效代码分享
Aug 27 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
May 13 Javascript
React如何将组件渲染到指定DOM节点详解
Sep 08 Javascript
koa-router源码学习小结
Sep 07 Javascript
Vue.js 中的 v-cloak 指令及使用详解
Nov 19 Javascript
Vue中Axios从远程/后台读取数据
Jan 21 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
Mar 15 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
Apr 16 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 jQuery
vue中 this.$set的使用详解
Nov 17 Vue.js
Koa2微信公众号开发之消息管理
May 16 #Javascript
js实现鼠标单击Tab表单切换效果
May 16 #Javascript
Koa2微信公众号开发之本地开发调试环境搭建
May 16 #Javascript
解决Mac下安装nmp的淘宝镜像失败问题
May 16 #Javascript
为什么使用koa2搭建微信第三方公众平台的原因
May 16 #Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 #Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 #Javascript
You might like
一篇入门的php Class 文章
2007/04/04 PHP
PHP脚本中include文件出错解决方法
2008/11/20 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php Session存储到Redis的方法
2013/11/04 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP的mysqli_thread_id()函数讲解
2019/01/24 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
javascript Excel操作知识点
2009/04/24 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery css() 方法动态修改CSS属性
2016/09/25 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
JavaScript 数据类型详解
2017/03/13 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
vue中的适配px2rem示例代码
2018/11/19 Javascript
Vue源码解析之数据响应系统的使用
2019/04/24 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
优秀的个人求职信范文
2014/05/09 职场文书
放射科岗位职责
2015/02/14 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
中学教代会开幕词
2016/03/04 职场文书