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 相关文章推荐
javascript 动态添加表格行
Jun 22 Javascript
JavaScript中判断原生函数检查function是否是原生代码
Sep 09 Javascript
JS+CSS实现Div弹出窗口同时背景变暗的方法
Mar 04 Javascript
jQuery的ajax和遍历数组json实例代码
Aug 01 Javascript
基于vue的fullpage.js单页滚动插件
Mar 20 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 jQuery
解决linux下node.js全局模块找不到的问题
May 15 Javascript
详解JavaScript中关于this指向的4种情况
Apr 18 Javascript
Vue Components 数字键盘的实现
Sep 18 Javascript
Element Badge标记的使用方法
Jul 27 Javascript
js实现可爱的气泡特效
Sep 05 Javascript
详解ES6中class的实现原理
Oct 03 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的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
新浪的图片新闻效果
2007/01/13 Javascript
初识javascript 文档碎片
2010/07/13 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JavaScript类的写法
2016/09/17 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
关于ES6的六个小特性(二)
2017/02/20 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
Python列表生成器的循环技巧分享
2015/03/06 Python
深入解析Python中的线程同步方法
2016/06/14 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
计算机工程学院个人求职信
2013/10/05 职场文书
测绘工程个人的自我评价
2013/11/10 职场文书
计算机学生求职信范文
2014/01/30 职场文书
公司建议书怎么写
2014/05/15 职场文书
研究生导师推荐信
2014/09/06 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
师德师风学习材料
2014/12/19 职场文书
求职自我评价范文
2015/03/09 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS