文章目录

  • 前言
  • 一、步骤
    • 1.打印页面
    • 2.引入JS
    • 3.打印JS方法

前言

打印功能兼容IE、谷歌、火狐。


一、步骤

1.打印页面

在body层添加position:relative IE打印的时候就不会只显示第一页

代码如下(示例):

<!-- 添加position:relative IE打印的时候就不会只显示第一页-->
<body style="overflow: visible !important; position:relative">
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" id="wb" name="wb" width="0"></OBJECT>
<div id='divContent'>打印内容......</div>
<!-- 添加noprint 打印的时候就不显示-->
<div class="noprint">
<button onclick='IEVersion'>打印</botton>
</div>
</body>

2.引入JS

代码如下(示例):

jQuery.print.js Git下载地址

<script src="~/jquery/jquery-2.1.4.min.js"></script>
<!-- 这个适用于谷歌和火狐 -->
<script src="~/jQuery.print-master/jQuery.print.js"></script>

3.打印JS方法

代码如下(示例):

function IEVersion() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串  var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器  var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器  var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;if(isIE) {var reIE = new RegExp("MSIE (\\d+\\.\\d+);");reIE.test(userAgent);var fIEVersion = parseFloat(RegExp["$1"]);if(fIEVersion == 7) {printpreview();//调用的是IE原生自带的打印功能} else if(fIEVersion == 8) {printpreview();} else if(fIEVersion == 9) {printpreview();} else if(fIEVersion == 10) {printpreview();} } else if(isEdge) {$("#divContent").print();//edge,调用的是jQuery.print.js的方法} else if(isIE11) {printpreview(); //IE11  }else{$("#divContent").print();//不是ie浏览器}}// execwb() 参数以及功能://wb.execwb(1,1)//打开//wb.ExecWB(2,1);//关闭现在所有的IE窗口,并打开一个新窗口//wb.ExecWB(4,1)//;保存网页//wb.ExecWB(6,1)//打印//wb.ExecWB(7,1)//打印预览//wb.ExecWB(8,1)//打印页面设置//wb.ExecWB(10,1)//查看页面属性//wb.ExecWB(15,1)//好像是撤销,有待确认//wb.ExecWB(17,1)//全选//wb.ExecWB(22,1)//刷新//wb.ExecWB(45,1)//关闭窗体无提示
//打印预览
function printpreview(){wb.ExecWB(7,1);
}

打印和预览功能兼容IE、谷歌、火狐,解决IE打印只显示第一页相关推荐

  1. 使用 Print-js 实现打印、预览功能 前端部分

    一.传送门:官方文档 .大神文档 二.使用方式 安装: npm install print-js --save 引入: import print from 'print-js' 直接使用: // ba ...

  2. 条码打印实现预览功能(winform)

    环境:    采用BarTender   btw模板 实现方式:转化成图片,通过图片控件,显示出图片效果即可 核心代码: private BarTender.Application btapp;pri ...

  3. js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3

    //js本地图片预览,兼容ie[6-9].火狐.Chrome17+.Opera11+.Maxthon3 <!DOCTYPE html> <html xmlns="http: ...

  4. Windows 7 Home Basic 的任务栏缩略图预览和Alt+Tab缩略图平铺预览功能已足够了

    网上看到许多Win7HB强开Aero特效的文章,故本人仔细看了一下Windows 7 Home Basic 中的相关功能. 也许老旧机器的确需要几个xp即可运行的类似Aero功能的VisualTool ...

  5. js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3tr td style=width:35%; class=noBorderL

    <tr> <td style="width:35%;" class="noBorderL firstTD">资格证图片</td&g ...

  6. C#实现打印与打印预览功能

    C#实现打印与打印预览功能 发表日期:2010年12月31日 作者:whitewin 点击:102次 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Micr ...

  7. 网页中JS实现(调用)打印预览功能

    近期的项目中需要在页面中实现打印预览功能--点击网页中的"打印"(Print),弹出打印预览窗口,点击窗口页面中的"开始打印"(Print),则出现浏览器的打印 ...

  8. DELPHI 打印预览功能

    在很多应用程序中,都需要程序具有打印预览功能,以避免用户由于选择不当出现打印错误. 预览实现方式为通过创建一个Tpanel的派生类并公开它的canvas属性比例尺或视区范围,使用较为不方便,笔者通过实 ...

  9. MFC 基于多文档的打印和打印预览功能的实现

    一.基础知识 1 网上有很多的关于打印的程序,一定要看清楚,是基于对话框dialog的打印功能,还是基于文档的打印功能. 如果分不清基于对话框和文档的区别,建议新建一个单文档.多文档和对话框的工程,看 ...

最新文章

  1. AWS攻略——使用CodeBuild进行自动化构建和部署Lambda(Python)
  2. python子进程模块subprocess
  3. ZOJ-3494 BCD Code (ac自动机+数位dp)
  4. 95-50-050-java.nio.channels-NIO-NIO之Channel(通道)
  5. 写出杨辉三角_认识杨辉三角
  6. 教你正确设置CrossOver的Wine配置(三)
  7. 阿里巴巴高级技术专家章剑锋:大数据发展的 8 个要点
  8. ARTS打卡10-抓住海森堡Bug
  9. <<视觉问答>>2021:Found a Reason for me? Weakly-supervised Grounded Visual Question Answering using Capsu
  10. 使用ESP8266通过Blinker平台接入天猫精灵控制电视/空调
  11. Cordova 开发之安卓插件开发(二)
  12. Fortran 文件操作
  13. 使用Beaglebone Black的PRU(二)——Hello World!
  14. UDA1341声卡驱动
  15. 抢完咖啡生意,蜜雪冰城还要抢便利店的生意
  16. 免费ARP(Gratuitousnbsp;ARP)简析
  17. 云计算“晴转多云” ,Bespin Global要做多云管理领导者
  18. 美国计算机加音乐专业,卡内基梅隆大学音乐与技术本科专业 让音乐无限可能!...
  19. Git错误:Incorrect username or password ( access token )
  20. 图像如何存储在计算机中?

热门文章

  1. 数据库索引的原理和使用场景
  2. android梦网物联卡信息,摘自TechWeb:梦网物联云:实现智能穿戴只需一张物联网卡...
  3. 苹果iPhone14怎么领取淘宝天猫优惠券购买iPhone苹果14钢化膜手机壳?
  4. (转载)总体设计-模块化 层次图 结构图
  5. 经纬度获取实际距离(调用高德地图kpi)
  6. 微信支付服务器端demo,004-移动支付02-微信支付-服务器开发
  7. 路由器虚拟机开启tftp服务器,水星路由器tftp服务器怎么开启
  8. 基于MSP430单片机风光互补控制路灯设计(设计资料)
  9. 【基于Numpy】实现基本卷积运算
  10. 印度三大移动运营商共享电信设施