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 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
JQuery 选择和过滤方法代码总结
Nov 19 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
Jan 15 Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 Javascript
jQuery四种选择器使用及示例
Jun 05 Javascript
jQuery基于BootStrap样式实现无限极地区联动
Aug 26 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
Jan 22 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 Javascript
Vue组件间数据传递的方式(3种)
Jul 13 Javascript
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中实现进程间通讯
2006/10/09 PHP
十大使用PHP框架的理由
2015/09/26 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
javascript实现状态栏中文字动态显示的方法
2015/10/20 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
node.js 如何监视文件变化
2020/09/01 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
Python实现的Excel文件读写类
2015/07/30 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
python3中rank函数的用法
2019/11/27 Python
python动态文本进度条的实例代码
2020/01/22 Python
用Python在Excel里画出蒙娜丽莎的方法示例
2020/04/28 Python
Python爬虫与反爬虫大战
2020/07/30 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
豪华复古化妆:Besame Cosmetics
2019/09/06 全球购物
工作过失检讨书
2014/02/23 职场文书
《鞋匠的儿子》教学反思
2014/03/02 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
培训通知
2015/04/17 职场文书
深入详解JS函数的柯里化
2021/06/09 Javascript