1.打开一个新窗口并把要打印的区域赋值给新窗口

var newWindow = window.open('打印窗口', '_blank')var docStr = document.getElementById('print').innerHTMLnewWindow.document.write(docStr)newWindow.document.close()newWindow.print()newWindow.close()

缺点:新的页面没有样式

2.把doument.body内容替换成要打印区域的内容,打印完后再替换回去

var headstr = '<html><head><title></title></head><body>'var footstr = '</body>'var newstr = document.getElementById('print').innerHTMLvar oldstr = document.body.innerHTMLdocument.body.innerHTML = headstr + newstr + footstrwindow.print()document.body.innerHTML = oldstrreturn false

确定:把原来内容重新赋值给document.body后,页面链接不可点击,变成静态页面,必须重新刷新页面才可用

3.借助于iframe框架

var el = document.getElementById('print')var iframe = document.createElement('IFRAME')var doc = nulliframe.setAttribute('style', 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;')document.getElementsByTagName('th')[0].setAttribute('style', 'text-align:left')document.getElementsByTagName('th')[1].setAttribute('style', 'text-align:left')document.getElementsByClassName('expand-trigger')[0].setAttribute('style', 'height:0px')document.body.appendChild(iframe)doc = iframe.contentWindow.documentdoc.write('<div>' + el.innerHTML + '</div>')doc.close()iframe.contentWindow.focus()iframe.contentWindow.print()if (navigator.userAgent.indexOf('MSIE') > 0) {  document.body.removeChild(iframe)}

目前没有找到新的方法,后续会补新的方法

转载于:https://www.cnblogs.com/yang1215/p/7793942.html

浏览器打印部分区域内容相关推荐

  1. html打印指定区域内容,js print打印网页指定区域内容

    比较简单的办法 使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内. 细如下: 代码如下 .noprint{visibility:hidden} 要打印的内容.哈哈! ...

  2. JS打印指定区域内容

    /*将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->,再加个打印按纽 οnclick=preview(1)*/ fun ...

  3. js网页打印指定区域内容

    方法一: <script language="javascript" type="text/javascript"> function printp ...

  4. 网页上实现打印指定区域的方法实现

    通过单击页面按钮,便实现页面打印指定区域内容的方法. <!doctype html> <html> <head> <meta charset="ut ...

  5. js打印页面指定区域内容

    2种方式: 一种只支持IE浏览器 另一种支持各类浏览器 <html xmlns="http://www.w3.org/1999/xhtml"> <head> ...

  6. 打印屏蔽部分内容window.print()

    var bdhtml=window.document.body.innerHTML;var sprnstr="<!--startprint-->"; //开始打印标识字 ...

  7. php打印预览jquery,JS实现浏览器打印、打印预览示例

    目前正在做浏览器端采用JS方式实现打印这么一个功能,JS打印实现的方法很多,但是兼容各个浏览器实现打印预览的功能有些棘手,现将实现的内容及遇到的问题记录下来,希望有大牛看到所提的问题后可以给予解答,在 ...

  8. 基于Jquery的浏览器打印插件

    最近工作中需要做到打印功能,为了简单起见就直接使用插件调用浏览器的打印功能.然后发现jquery.PrintArea.js这个插件蛮好用的. <!DOCTYPE html><html ...

  9. JS调用浏览器打印功能

    function doPrint() { //取得浏览器的userAgent字符串var userAgent = navigator.userAgent.toLowerCase();if (userA ...

最新文章

  1. c# yield关键字原理
  2. 为什么我的子线程更新了 UI 没报错?借此,纠正一些Android 程序员的一个知识误区...
  3. 在linux 下配置firewalld
  4. 12个python超强学习网站!加python书籍推荐!( 入门python自学推荐!建议收藏!)
  5. VC 6.0 + SP6 下载 及 安装详细说明
  6. python 审批流_Odoo 基于企业微信实现的通用审批流功能的自助配置及使用说明 - Oejia 技术栈,企业方案分享、Odoo顾问...
  7. click group实例
  8. iOS播放器 - AVPlayer
  9. 在Eclipse中使用JDBC访问MySQL数据库的配置方法
  10. VSCode配置JavaScript环境
  11. 20200714一维数组的经典例题(成绩的最高分,最低分;猜中数字游戏;数组的增添改查;)
  12. double bottoms
  13. poscms多语言网站方案
  14. sql server 2000企业管理器中没有项目
  15. Python人脸识别——从入门到工程实践
  16. python人民币小写转大写_Python小程序人民币小写转大写辅助工具
  17. JVM GC调优--增大Eden Space提高性能
  18. PTA 2022秋季C语言专题实验07
  19. 微信推送平台-测试号定制推送
  20. Unity UGUI图集专题

热门文章

  1. 汽车模糊推理系统实验
  2. 什么是currentColor
  3. VS Code 插件:Better Align以及快捷键配置 代码对齐/代码网格化 /界面对齐/代码自动缩进
  4. R语言与数据分析——【笔记】2.R语言数据存储与读取
  5. OKHttp原理学习总结
  6. 设计一个低成本的无线传感器网络节点
  7. 计算机毕业设计Java洁能租车(源码+系统+mysql数据库+lw文档)
  8. 过滤器实现自动登录(过滤器filter)
  9. ajax封装(精简篇)
  10. 最新JS判断是否是360浏览器方法