基于jQuery实现网页打印功能


Posted in Javascript onDecember 01, 2015

直接上代码

<!DOCTYPE html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>index</title>
</head>
<body>
  
  <div style="text-align:center; margin-top: 30px">
    <div id="printArea">
      <div>......文本打印区域......</div>
      <div>......文本打印区域......</div>
      <div>......文本打印区域......</div>
      <div>......文本打印区域......</div>
      <div>......文本打印区域......</div>
    </div>  
  
    <br>
    <br>
  
    <input id="btnPrint" type="button" value="打印文本区域"></input> 
    <input id="btnPrintFull" type="button" value="全屏打印"></input> 
  </div>
</body>

<script src="js/jquery-2.1.4.js"></script>
<script src="js/jquery.PrintArea.min.js"></script> 

<script> 
  $("#btnPrint").click(function(){  
    $("#printArea").printArea(); 
  }); 

  $("#btnPrintFull").click(function(){  
    $("body").printArea(); 
  }); 
  
</script>

</html>

代码 jquery.PrintArea.min.js:

(function(c){function g(){var b="<head><title>"+d.popTitle+"</title>";c(document).find("link").filter(function(){return"stylesheet"==c(this).attr("rel").toLowerCase()}).filter(function(){var a=c(this).attr("media");return void 0==a?!1:""==a.toLowerCase()||"print"==a.toLowerCase()}).each(function(){b+='<link type="text/css" rel="stylesheet" href="'+c(this).attr("href")+'" >'});return b+="</head>"}function h(b){return'<body><div class="'+c(b).attr("class")+'">'+c(b).html()+"</div></body>"}function k(b){c("input,select,textarea",b).each(function(){var a=c(this).attr("type");"radio"==a||"checkbox"==a?c(this).is(":not(:checked)")?this.removeAttribute("checked"):this.setAttribute("checked",!0):"text"==a?this.setAttribute("value",c(this).val()):"select-multiple"==a||"select-one"==a?c(this).find("option").each(function(){c(this).is(":not(:selected)")?this.removeAttribute("selected"):this.setAttribute("selected",!0)}):"textarea"==a&&(a=c(this).attr("value"),c.browser.mozilla?this.firstChild?this.firstChild.textContent=a:this.textContent=a:this.innerHTML=a)});return b}function l(){var b=d.id,a;try{a=document.createElement("iframe"),document.body.appendChild(a),c(a).attr({style:"border:0;position:absolute;width:0px;height:0px;left:0px;top:0px;",id:b,src:""}),a.doc=null,a.doc=a.contentDocument?a.contentDocument:a.contentWindow?a.contentWindow.document:a.document}catch(e){throw e+". iframes may not be supported in this browser.";}if(null==a.doc)throw"Cannot find document.";return a}function m(){var b;b="location=no,statusbar=no,directories=no,menubar=no,titlebar=no,toolbar=no,dependent=no,width=595px,height=842px,top=0,left=0,toolbar=no,scrollbars=no,personalbar=no"+(",resizable=yes,screenX="+d.popX+",screenY="+d.popY+"");b=window.open("","_blank",b);b.doc=b.document;return b}var f=0,n={mode:"iframe",popHt:500,popWd:400,popX:200,popY:200,popTitle:"",popClose:!1},d={};c.fn.printArea=function(b){c.extend(d,n,b);f++;c("[id^=printArea_]").remove();b=k(c(this));d.id="printArea_"+f;var a,e;switch(d.mode){case"iframe":e=new l;a=e.doc;e=e.contentWindow||e;break;case"popup":e=new m,a=e.doc}a.open();a.write(("iframe"!=d.mode&&d.strict?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01'+(0==d.strict?" Trasitional":"")+'//EN" "http://www.w3.org/TR/html4/'+(0==d.strict?"loose":"strict")+'.dtd">':"")+"<html>"+g()+h(b)+"</html>");a.close();e.focus();e.print();"popup"==d.mode&&d.popClose&&e.close()}})(jQuery);

二、效果图

打印文本区域:

基于jQuery实现网页打印功能

全屏打印:

 基于jQuery实现网页打印功能

还有一些高手提出的window.print() 方法也是可以滴,在这就不一一介绍了,希望大家认真研究网页打印功能的实现方法,小编和大家共同进步。

Javascript 相关文章推荐
JSON.stringify转换JSON时日期时间不准确的解决方法
Aug 08 Javascript
JavaScript function 的 length 属性使用介绍
Sep 15 Javascript
判断window.onload是否多次使用的方法
Sep 21 Javascript
用Node.js通过sitemap.xml批量抓取美女图片
May 28 Javascript
JS截取字符串实例详解
Nov 24 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
关于JavaScript中事件绑定的方法总结
Oct 26 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
Jul 26 Javascript
详解基于Vue+Koa的pm2配置
Oct 24 Javascript
js实现抽奖的两种方法
Mar 19 Javascript
利用React高阶组件实现一个面包屑导航的示例
Aug 23 Javascript
jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
Dec 01 #Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 #Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
Dec 01 #Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 #Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
Dec 01 #Javascript
快速学习jQuery插件 Form表单插件使用方法
Dec 01 #Javascript
jQuery学习笔记之Ajax用法实例详解
Dec 01 #Javascript
You might like
PHP编实现程动态图像的创建代码
2008/09/28 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
js操作select控件的几种方法
2010/06/02 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
JS中箭头函数与this的写法和理解
2021/01/14 Javascript
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
python破解zip加密文件的方法
2018/05/31 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
2019/02/12 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Python3远程监控程序的实现方法
2019/07/15 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
如何验证python安装成功
2020/07/06 Python
Python urllib3软件包的使用说明
2020/11/18 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
如何安装ruby on rails
2014/02/09 面试题
化学教育专业求职信
2014/07/08 职场文书
就业导师推荐信范文
2015/03/27 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
python flappy bird小游戏分步实现流程
2022/02/15 Python