JavaScript实现点击按钮直接打印

作者:一落叶而知秋 时间:2024-04-16 10:27:59 

很多网站都有此功能,当浏览到底部时都会有一个打印按钮,点击打印按钮就可以完成打印功能,功能非常不错,人性化,代码非常的简单。


<a href="javascript:window.print()">脚本之家</a>


也就是只要调用window.print()函数就可以实现打印当前页面。


但是上面的并不完美,因为有些网页上的很多内容都不需要打印,下面介绍一下如何打印页面中的指定内容。


代码如下:




<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.aspxhome.com/" />
<title>指定被打印的内容</title>
<script language="javascript">
function printdiv(printpage)
{
var newstr = printpage.innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML =newstr;
window.print();
document.body.innerHTML=oldstr;
return false;
}
window.onload=function()
{
var bt=document.getElementById("bt");
var div_print=document.getElementById("div_print");
bt.onclick=function()
{
printdiv(div_print);
}
}
</script>
</head>
<body>
<div id="div_print">
<h1 style="Color:Red">这是要被打印的内容</h1>
</div>
<div style="Color:Red">欢迎您</div>
<input name="print" type="button" id="bt" value="点击打印" />
</body>
</html>

特别说明:打印预览需要将代码复制到本机测试,否则会出错。

以上代码实现了打印网页指定内容的效果,下面简单介绍一下实现过程。

一.实现原理:

在js代码中使用document.body.innerHTML =newstr,动态原来body中的内容替换为要打印的内容,在打印过后,在将原来的内容还原,原理就是这么简单,具体可以参阅代码注释。

二.代码注释:

1.function printdiv(printpage){},声明一个控制打印的函数,参数是一个对象,这个对象中的内容将要被打印。
2.var newstr = printpage.innerHTML; ,获取要打印的内容。
3.var oldstr = document.body.innerHTML,原来body中的内容。
4. document.body.innerHTML =newstr,用将要打印的内容替换原来body中的内容。
5.window.print(),开始打印。
6.document.body.innerHTML=oldstr,再将原来body中的内容还原。

三.相关阅读:

1.window.print()函数可以参阅window对象的print()方法一章节。
2.onclick事件可以参阅javascript的onclick事件一章节。

以上内容比较简单,并有单独的代码注释帮助大家学习js实现点击按钮就打印功能,希望本文对大家有所帮助。

标签:js,按钮,点击,打印
0
投稿

猜你喜欢

  • 在Python中字典根据多项规则排序的方法

    2023-09-12 00:51:38
  • 带你用Python实现Saga 分布式事务的方法

    2022-02-17 06:17:11
  • opencv对多种颜色小球的形状及位置判断方式

    2022-12-18 22:47:50
  • JS获得选取checkbox整行数据的方法

    2024-02-26 21:10:33
  • 微信小程序实现登录注册tab切换效果

    2024-04-29 13:11:29
  • pytest接口测试之fixture传参数request的使用

    2023-03-19 07:40:40
  • php while循环控制的简单实例

    2024-05-11 10:03:54
  • 应用技术:如何通过SQLyog分析MySQL数据库

    2009-03-25 16:53:00
  • python操作kafka实践的示例代码

    2021-04-19 10:57:34
  • 浅析Python打包时包含静态文件处理方法

    2023-05-29 01:12:10
  • python 获取图片分辨率的方法

    2022-02-19 12:03:56
  • bootstarp modal框居中显示的实现代码

    2024-04-22 13:04:02
  • 利用FrontPage 2003制作网络申请系统

    2008-02-21 14:34:00
  • 解析Go 中的 rune 类型

    2023-09-19 11:59:16
  • linux下python中文乱码解决方案详解

    2023-09-01 03:53:04
  • 提高ASP性能的最佳选择第二部分

    2007-08-15 12:46:00
  • VBScript中清除数组元素Erase语句

    2008-06-27 13:05:00
  • 基于mysql多实例安装的深入解析

    2024-01-21 01:59:27
  • Python中在for循环中嵌套使用if和else语句的技巧

    2022-10-08 17:44:50
  • PHP register_shutdown_function()函数的使用示例

    2023-10-07 08:06:27
  • asp之家 网络编程 m.aspxhome.com