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 相关文章推荐
xml分页+ajax请求数据源+dom取结果实例代码
Oct 31 Javascript
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
jquery教程ajax请求json数据示例
Jan 13 Javascript
javaScript如何处理从java后台返回的list
Apr 24 Javascript
JavaScript中setFullYear()方法的使用详解
Jun 11 Javascript
JQuery之proxy实现绑定代理方法
Aug 01 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
浅谈angularjs依赖服务注入写法的注意点
Apr 24 Javascript
详谈js的变量提升以及使用方法
Oct 06 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
js实现蒙版效果
Jan 11 Javascript
js实现简单五子棋游戏
May 28 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
Terran历史背景
2020/03/14 星际争霸
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php实现加减法验证码代码
2014/02/14 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
php验证码生成器
2017/05/24 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
js实现特别简单的钟表效果
2020/09/14 Javascript
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
使用Python脚本来控制Windows Azure的简单教程
2015/04/16 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python实现Restful API的例子
2019/08/31 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
中专毕业个人的自荐信格式
2013/09/21 职场文书
单身联谊活动方案
2014/01/29 职场文书
教师个人剖析材料
2014/02/05 职场文书
收银员岗位职责
2014/02/07 职场文书
幼师求职自荐信
2014/05/31 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书