1、由来

在项目需求中,有需要实现的打印当前页面的方法,问题是:当鼠标右键打印时,由于多页面组合,导致页面重叠打印,很显然不符合要求。故多方查找找到如下方法,仅供参考。

2、方法

2.1、jsp页面中处理

在jsp页面中添加打印按钮,并填充单机时间:打印

<button type="button" onclick="javascript:window.print();" class="btn">打印</button>

2.2、js文件中添加方法

依然是上面的按钮,只是点击事件在js页面中
下面这个方法,需要支持标签<//iframe>?
在jsp页面上需要添加第一行的代码

<iframe id="piframe" style="display:none"></iframe>function print(){
var pHTML = $("#divID").html;
var piframe=$("#piframe")[0];
var pwindow = piframe.contentWindow;
pwindow.document.close();
pwindow.document.write(pHTML);
pwindow.print():
}

另外一个方法更上一个相似,只是更通用一些

var pHTML=document.getElementById("divID").innerHTML;
var wind = window.open("","newwindow","height=1000,width=200,top=100,left=100.toobar=no,menubar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=yes");
wind.document.title='打印预览';
wind.document.body.innerHTML=pHTML;
wind.print();

3、此次遇到的最大的也是最坑的问题

我们是从PDF文件中取得数据框架,然后根据页面输入填充数据,最后生成一个HTML文件。
以上三种方法,经过测试都能从HTML文件中取到数据,但当走到打印预览页面,就是空白纸,这问题一度使我怀疑人生。
一次偶然的机会同事(感谢同事)看了一眼我从HTML中获取的数据,然后告诉我由于数据中的一行配置,导致我无法从打印中获取数据。

@media print{body{display:none}}

这是在生成HTML文件时添加的,目的是拒绝打印,来达到保密的效果,这对我来说简直了。。。

js实现页面打印及bugger相关推荐

  1. JS怎么实现页面打印 JS实现页面打印的方法

    JS实现页面打印 1.js实现(可实现局部打印) [html] <input id="btnPrint" type="button" value=&quo ...

  2. js使用页面打印window.print() 记录,并进行缩放打印

    //打印print:function(){//获取打印的页面内容let subOutputRankPrint = document.getElementById('print-div');let ne ...

  3. html打印页面设置缩放,js使用页面打印window.print() 记录,并进行缩放打印

    //打印 print:function(){ //获取打印的页面内容 let subOutputRankPrint = document.getElementById('print-div'); le ...

  4. 用js实现页面打印以及自定义打印内容

    实现一: <input type="button" value="打印" onClick="document.execCommand('prin ...

  5. JS实现页面打印,控制打印时显示隐藏

    点击打印调出打印预览,并实现只显示打印区域div. 实现效果 实现代码 <!DOCTYPE html> <html lang="en"> <head& ...

  6. js 在页面打印九九乘法表

    for(var i=1;i<=9;i++){ for(var j=1;j<=i;j++){ document.write(i) document.write('×') document.w ...

  7. HTML页面打印功能js代码,JavaScript_js实现页面打印功能实例代码(附去页眉页脚功能代码),复制代码 代码如下: html - phpStudy...

    js实现页面打印功能实例代码(附去页眉页脚功能代码) 复制代码 代码如下: @media print{ .print {display:block;} .notPrint {display:none; ...

  8. 页面打印插件 jquery.jqprint.js 插件使用实例

    页面打印插件 jquery.jqprint.js 插件使用实例 jquery.jqprint.js 插件下载 jqprint 是一个基于jQuery编写的页面打印的一个小插件,可以对页面指定元素的内容 ...

  9. js 页面打印,兼容单个打印和分页批量打印,自定义页眉和简单页脚

    场景: 最近在公司做开发,有个需求需要页面打印功能,作为前端半桶水都不到,只会改页面的我,一脸懵逼,公司里也没人系统的做过,按照惯例,本着有事找度娘的心态(我一直认为我们现在遇到的70%-80%的问题 ...

  10. php怎么实现打印预览,JavaScript_js实现局部页面打印预览原理及示例代码,最近有朋友问js 如何打印预览 - phpStudy...

    js实现局部页面打印预览原理及示例代码 最近有朋友问js 如何打印预览,今天就来讲解一下,首先了解一下打印原理,其实局部打印页面很简单.就是把你需要打印的部分做一个起始标记,至于标记如何写,随便你写什 ...

最新文章

  1. MyBatis点滴积累
  2. qrcode生产带logo_“白板”口罩打上LOGO装名牌 警方重拳出击清市场
  3. Partition分区及实例
  4. 在XCode中使用SVN
  5. 爬楼梯(Leetcode)
  6. SAP UI5 different cache results
  7. 【python 6】Numpy
  8. java 内部类私有成员 能访问,为什么外部Java类可以访问内部类私有成员?
  9. 论文浅尝 | 一种嵌入效率极高的 node embedding 方式
  10. C# 基础知识和VS2010的小技巧总汇(2)[转]
  11. 基于JAVA+SpringBoot+Mybatis+MYSQL的电影院管理系统
  12. 崩溃的数据库字符集问题
  13. 安装详细步骤win7_windows安装器怎么安装原版win7【详细教程】
  14. Enterprise Library:Unity的几个注意事项
  15. 52. PHP 伪静态
  16. 编译原理(龙书):第七章部分题目参考答案
  17. 深入浅出MFC学习笔记(第三章:MFC六大关键技术之仿真:命令传递) .
  18. 局域网传文件_微信QQ传文件慢?你可以用这5款跨平台文件传输软件
  19. 生成android toolchain
  20. ⑦企业级zabbix监控 微信报警、邮箱报警、钉钉报警、全网最细

热门文章

  1. MyBatis自带的缓存配置(Cache)
  2. 将实时频谱分析仪与HIF输出配合使用
  3. springcloud中feign调用的权限认证
  4. window下解压tar.gz.part-*文件
  5. 浅析智能访客机的应用
  6. 【阿里云盘变本地硬盘】CloudDrive1.1.59.2 (修复阿里云盘扫描二维码无法登录的问题)
  7. linux C之srand函数
  8. nginx中报403 Forbidden问题
  9. 035 导数 微分对应表
  10. python二维码_Python 二维码制作