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 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
Jun 03 Javascript
JavaScript多线程详解
Aug 12 Javascript
javascript每日必学之继承
Feb 23 Javascript
JavaScript中自带的 reduce()方法使用示例详解
Aug 10 Javascript
jQuery ajax动态生成table功能示例
Jun 14 jQuery
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 Javascript
微信小程序使用前置摄像头拍照
Oct 22 Javascript
Axios代理配置及封装响应拦截处理方式
Apr 07 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 preg_replace替换实例讲解
2013/11/04 PHP
PHP中数据库单例模式的实现代码分享
2014/08/21 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
node跨域转发 express+http-proxy-middleware的使用
2018/05/31 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
[01:01:24]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第三局
2016/02/25 DOTA
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
[00:35]2016完美“圣”典风云人物:冷冷宣传片
2016/12/08 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
python对url格式解析的方法
2015/05/13 Python
Python模拟登陆实现代码
2017/06/14 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
Python实战购物车项目的实现参考
2019/02/20 Python
Python实现TCP通信的示例代码
2019/09/09 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
我爱幼儿园演讲稿
2014/09/11 职场文书
学习保证书100字
2015/02/26 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers