用JS在html页面实现打印功能

2023-10-27

有时候我们做页面的时候,会要求有打印页面的按钮,而且有的时候会要求只打印页面中的某一部分而不是全打印

首先在head里面加入下面一段js代码:

<script language="javascript">
function preview(oper)
{
if (oper < 10){
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
window.print();
window.document.body.innerHTML=bdhtml;
} else {
window.print();
}
}
</script>

然后在所需要打印的代码,用<!--startprint1--><!--endprint1-->包围着,如下:

<!--startprint1-->

<!--打印内容开始-->
<div id=sty>
    ...
</div>
<!--打印内容结束-->

<!--endprint1-->

最后加上一个打印的按钮

<input type=button name='button_export' title='打印1' onclick=preview(1) value=打印1>

另外说明一下,在一个HTML页面里面,可以设置多个打印区域,需要改动一下的就只是几个数字就OK了。如:
在选择第二个区域里面时用 包围着,而按钮自然也改成对应的preview(1)了。这样第二区域的打印就完成。

还有一点,就是CSS样式表的问题了,打印的效果是不包含背景的打印的,设置是注意一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用JS在html页面实现打印功能 的相关文章

  • 错误:使用本地文件时,summernote 不是一个函数

    我遇到了一个非常奇怪的问题 当我使用本地的 Summernote 文件加载文本编辑器时 发生了 summernote 不是函数 的情况 但是 如果我使用 cdn 文件加载编辑器 一切都会顺利 这是我的 HTML 标头代码
  • 客户端与服务器端图像压缩[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在研究用户可以上传图片的东西 图像大小不受限制 现在我有两个选择使用PHP 服务器端 压缩图像或使用
  • HTML/CSS 水平导航子菜单悬停显示错误

    我正在创建一个带有水平导航和垂直子菜单的 HTML 页面 一切工作正常 除了子菜单上的悬停显示在实际菜单项的左侧 看我的jsfiddle https jsfiddle net qmcte349 https jsfiddle net qmct
  • 提交ajax表单并停留在同一页面不起作用

    我想将用户的评论存储在我的数据库中 当用户提交时 我不想将他们重定向到新页面 我有以下代码 但它不起作用 我的 HTML 代码
  • 在 Bootstrap 按钮下拉列表标题/占位符文本中显示所选项目

    这个问题已经在 Stackoverflow 上被问过几次了 但是我仍然无法弄清楚它的真相 而且我的查询正在抛出更多的下拉菜单 所以我有两个下拉菜单和一个搜索 我想从下拉列表和 选定 中进行选择以替换下拉占位符文本 但我还需要记住 点击搜索后
  • Bootstrap轮播不滑动

    我一直在尝试使用 Bootstrap Carousel 并在一定程度上取得了成功 我也可以单击并更改图像 但我有一个问题 只是不滑动而已 我哪里做错了 html div class carousel slide ol class carou
  • HTML5 中填充笔划的透明度

    我正在 HTML5 中开发一个涂鸦应用程序 我想做一种桶功能 这个想法是绘制一条路径 它将被关闭并用选定的颜色 描边的颜色 填充 它对于纯色效果很好 但如果我想要透明的描边和填充 我会遇到这个问题 所发生的情况是填充完成到笔划的中间 路径的
  • 使整个网页着色

    How I can take any given webpage and make everything look tinted a certain color Basically if you take google and tint i
  • Position:fixed 内的position:fixed: 哪个浏览器是正确的?

    将固定元素放置在另一个固定元素内的行为在 Chrome Safari 与 Firefox 中有所不同 这个答案很好地解释了预期的行为 https stackoverflow com a 28576596 1437016对于相对 div 内的
  • 可编辑的 Div 插入位置

    我有一个可编辑的 div 我正在使用一个按钮将图像插入到该 div 中 现在 我只是在做 document getElementById elementid innerHTML 为了将图像添加到 div 的末尾 我想输入插入符号所在的图像
  • 如何使用 Angular 2 实现拖放(v2.0.0-beta.15)

    我想以角度实现一个简单的拖放列表 例如我可以更改其顺序的杂货列表 iv 在使用之前实现它https github com akserg ng2 dnd https github com akserg ng2 dnd但我的问题是我使用角度2
  • 我可以在一个变量中拥有多个值吗?

    正如标题 我可以在一个变量中拥有多个值吗 首先 我有这个表格
  • Phonegap(应用程序错误...发生网络错误)

    我已经使用phonegap 创建了一个版本 在index html 文件中 我编写了一个简单的iframe 用于加载网站 当我从phonegap获取本地url时它就起作用了 但如果我将整个构建作为 zip 文件上传到 PhoneGap 中
  • 在占位符中添加 HTML

    我喜欢使用 HTML 占位符 因为它有助于向用户描述他们需要输入的内容类型 但是 有时您需要为用户提供更多信息 而不仅仅是简单的句子 基本上我希望能够在我的文本区域占位符中添加换行符 制表符等 我听说过使用特殊编码来做到这一点 并且已经使用
  • 为什么Disabled = true对于html有效?

    我注意到我们的代码中有一个disabled ture 我是锚标签的源代码 我想知道为什么它在 IE 中有效 我也在互联网上进行了搜索 通过网络搜索 它也被用于很多源代码中 我一直在搜索if ture 拼写错误的true也可以被IE使用 有人
  • 在java中将DataURL图像转换为图像文件

    我在我的 java servlet 中接收图像 DataURL 它看起来像 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAA 我需要将其另存为图像文件 我该怎么做 The simplest w
  • Jquery 关注下一个带有类的元素

    我正在尝试创建一个函数 当按下 Enter 键时 会选择带有类的下一个输入 我已经设法 focus 同一行中的下一个元素 但是 如果我需要选择下一行的下一个输入 它将无法继续 下一行中的第一个 quantity 文本框需要获得焦点 控制台没
  • 将压缩的json数据存储在本地存储中

    我想将 JSON 数据存储在本地存储中 有时存储的数据可能超过 5MB 每个域的浏览器允许的最大阈值 无论如何 我可以压缩或压缩数据并将其存储在本地存储中吗 如果对大数据进行每个 JS 函数的压缩和解压 会增加多少延迟 我正在使用这个 js
  • HTML 布局:向现有网站添加侧边栏

    我有一个网站 其正文如下所示 div div div div div div 这些中没有使用绝对 相对定位技巧divs 但是有很多floats clears margins and padding这些风格divs 及其内部元素 所有这些都会
  • HTML标题属性样式[重复]

    这个问题在这里已经有答案了 如何在不使用 javascript 或 CSS 的情况下更改以下标记中标题属性的样式 因为我将 HTML 插入到原本无法编辑的文档中的特定位置 span title This is information Thi

随机推荐

  • Appium + IOS 自动化环境搭建教程(实践+总结+踩坑)

    文章目录 前言 IOS 自动化相关框架介绍 自动化测试类工具 内测发布工具 Appium驱动IOS测试原理 关于 WebDriverAgent 基础环境搭建 基础环境 安装内容 前提环境 通用环境 iOS 环境 iOS 真机调试环境配置 I
  • Pandas学习之to_csv()

    用法 df to csv 输出路径 参数1 参数2 参数3 sep 以逗号 作为数据的分隔符 如果分隔符不为逗号 则包含符双引号 就会消失 分隔符为Tab时 写法如下 df to csv new csv sep t na rep NA 确实
  • if-else常见的优化方案

    前言 代码中如果if else比较多 阅读起来比较困难 维护起来也比较困难 很容易出bug 接下来 本文将介绍优化if else代码的八种方案 优化方案一 提前return 去除不必要的else 如果if else代码块包含return语句
  • HBase 比较过滤器

    一 行过滤器 RowFilter 测试RowFilter过滤器 Test public void testRowFilter throws IOException Configuration conf HBaseConfiguration
  • echars-all.js 2.2.7组织结构图及自定义右键菜单的实现思路及源码

    组织结构图一般是树图结构 echars是一个很好的开源数据工具 2 x版本也有对树图的定义 要做组织结构图的需求拿到手里后 在网上也翻阅了很多echarts的官网资料及网友的实现思路 最终在网友及自身的努力下完成了这项任务 以上 先上最终结
  • Linux下gdb attach的使用(调试已在运行的进程)

    在Linux上 执行有多线程的程序时 当程序执行退出操作时有时会遇到卡死现象 如果程序模块多 代码量大 很难快速定位 此时可试试gdb attach方法 测试代码main cpp如下 这里为了使程序退出时产生卡死现象 在第51行时push线
  • 服务器连接超时是怎么回事呢?

    服务器连接超时就是在程序默认的等待时间内没有得到服务器的响应 网络连接超时可能的原因有那些呢 1 网络断开 不过经常显示无法连接 网络阻塞 导致你不能在程序默认等待时间内得到回复数据包 2 网络不稳定 网络无法完整传送服务器信息 系统问题
  • MySQL服务状态查看和监控方式

    运行中的MySQL状态查看可以通过以下方式进行监控和衡量不同指标 show global status like Uptime 服务器已运行的秒数 重启服务器后会置零 以下内容使用的Uptime均为此字段 1 QPS 每秒查询量 查询命令
  • WEB工程师和设计师必学的10个IOS 8新鲜改变

    概述 简介 iOS 8 上的 Safari 的更新 iPhone 6 和 iPhone 6 Plus 新 Api 支持 Safari 新功能和支持 iOS 8 原生优化 Safari 插件 新的设计 视频增强 iOS 8上的JS Bug 和
  • 【数学模型】基于Matlab模拟超市排队系统

    1 内容介绍 日常生活的超市购物中往往在收银台处排队等待 收银台过少 则会造成排队过长 收银台过多 又占用过多超市空间资源和人力资源 将整个超市购物过程所耗费的时间可抽象为若干个随机过程和排队系统 其中 消费者到达超市的时间是随机的 消费者
  • 学习Segformer语义分割模型并训练测试cityscapes数据集

    官方的segformer源码是基于MMCV框架 整体包装较多 自己不便于阅读和学习 我这里使用的是Bubbliiiing大佬github复现的segformer版本 Bubbliiiing大佬代码下载链接 https github com
  • QT 创建主窗口 MainWindow 实例

    1 2 mainwindow h ifndef MAINWINDOW H define MAINWINDOW H include
  • GMII,RGMII,SGMII,TBI,RTBI接口信号及时序介绍

    GMII RGMII SGMII TBI RTBI接口信号及时序介绍 千兆以太网MII接口类型主要有GMII RGMII SGMII TBI和RTBI 五种 GMII接 如下图 与MII接口相比 GMII的TX RX数据宽度由4位变为8位
  • XSSLab学习笔记-第1到5关

    写在最前面 仅供学习使用 前端三件套自学的不是很好 所以很多地方可能有点不清楚 有疑惑 请大佬带带 第一关 这关考察的是反射型xss 在这关学到的是在 h1 h1 等文本类标签里插入可以执行 只要没有额外条件过滤 观察网页和url可以看到n
  • numpy中的布尔型索引

    内容来自 利用Python进行数据分析 先创建一个names一维数组 再用numpy random中的randn函数生成一个7 4数组 gt gt names np array Bob Joe Will Bob Will Joe Joe g
  • 深圳 经济环境

    谁来锻造经济环境生态链条中的DNA 戴欣明走访深圳科技园 金融基地随想 现在有个现象不得不引起社会的深思 那就是满眼都是房地产 满地都是开发商 这在任何一个发达国家是不多见的 这起码可以说明 一方面是房地产的发展在未来有非常大的空间 另一方
  • U盘做启动盘之后容量变小了,咋办呢?

    有U盘的可能会遇到U盘容量不正常的情况 比如U盘做了启动盘后 U盘量产过 U盘用其他软件格式化过后导致U盘容量变小了 那么其他容量去哪里了呢 如果分成了2个区 那么为什么只识别一个呢 怎么才能恢复容量呢 一般U盘容量变小了 但实际上还是正常
  • IDM下载工具下载教程

    转自 13条消息 怎样通过其他下载工具下载某盘文件 发呆哥o o 的博客 CSDN博客
  • Qt多线程自定义结构体变量无法通过信号槽的方式传递的解决办法

    需要在子线程的头文件中包含 include
  • 用JS在html页面实现打印功能

    有时候我们做页面的时候 会要求有打印页面的按钮 而且有的时候会要求只打印页面中的某一部分而不是全打印 首先在head里面加入下面一段js代码