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操作cookie_获取与修改代码
May 21 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
js和as的稳定传值问题解决
Jul 14 Javascript
node.js中的favicon.ico请求问题处理
Dec 15 Javascript
分享网页检测摇一摇实例代码
Jan 14 Javascript
深入理解JQuery中的事件与动画
May 18 Javascript
微信小程序实现滴滴导航tab切换效果
Jul 24 Javascript
JS数组方法join()用法实例分析
Jan 18 Javascript
vue插槽slot的简单理解与用法实例分析
Mar 14 Javascript
如何在Express4.x中愉快地使用async的方法
Nov 18 Javascript
JavaScript中条件语句的优化技巧总结
Dec 04 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/11/19 PHP
使用php来实现网络服务
2009/09/15 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
深入浅析php json 格式控制
2015/12/24 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
基于Jquery的文字自动截取(提供源代码)
2011/08/09 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
bootstrap datepicker插件默认英文修改为中文
2017/07/28 Javascript
PM2自动部署代码步骤流程总结
2018/12/10 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
python 定时修改数据库的示例代码
2018/04/08 Python
python实现决策树ID3算法的示例代码
2018/05/30 Python
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
比利时买床:Beter Bed
2017/12/06 全球购物
化工专业个人的求职信范文
2013/11/28 职场文书
移风易俗倡议书
2014/04/15 职场文书
安全生产专项整治方案
2014/05/06 职场文书
绿色校园广播稿
2014/10/13 职场文书
个人年终总结结尾
2015/03/06 职场文书
工地食品安全责任书
2015/05/09 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android