JavaScript与jQuery实现网页局部打印的三种方案

作者:拾光时间:2026-10-28 08:36:57浏览:468

本文介绍了在Web开发中实现网页打印的三种常见方法。第一种利用原生JavaScript结合CSS类控制显示隐藏,实现简单局部打印;第二种通过调用Windows底层ActiveX控件完成打印,但存在安全警告且不支持局部打印;第三种基于jQuery库及printArea插件,通过指定DOM元素实现精准的局部打印功能。

本文探讨如何使用JavaScript或jQuery技术实现网页打印功能,重点在于支持局部打印的需求。



原生JavaScript实现局部打印

第一种方案:使用原生JavaScript实现局部打印。


具体代码实现如下:

 
<html>
<title>js打印</title>
<head></head><body>
<input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();" />
<input id="btnPrint" type="button" value="打印预览" onclick=preview(1) />
<style type="text/css" media=print>
.noprint{display : none }
</style>
<p class="noprint">不需要打印的地方</p>
<script>
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>
<p>XXXXX</p>
<!--startprint1-->要打印的内容<!--endprint1-->
</body>
</html>

调用Windows底层打印接口

第二种方案:调用Windows底层打印接口,该方法会触发安全警告,因此不推荐使用,且不支持局部打印功能。


具体代码实现如下:

 
<HTML>
<HEAD>
<TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312" />
<SCRIPT language=javascript>
function printsetup(){
// 打印页面设置
wb.execwb(8,1);
  } 
function printpreview(){
// 打印页面预览
     
wb.execwb(7,1);
     
  } 
function printit()
  { 
if (confirm('确定打印吗?')) {
wb.execwb(6,6);
  } 
  } 
</SCRIPT>
</HEAD>
<BODY>
<DIV align=center>
<OBJECT id=wb height=0 width=0
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>
<INPUT onclick=javascript:printit() type=button value=打印 name=button_print />
<INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup />
<INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show />
一按开始的减肥了卡时间段
</DIV>
</BODY>
</HTML>

jQuery实现局部打印

第三种方案:使用jQuery实现,该方法支持局部打印。


具体代码实现如下:

 
<html>
<head>
<script type="text/javascript" src="jquery-1.6.4.js"></script>
<script>
$(function(){
$("input#biuuu_button").click(function(){
$("div#myPrintArea").printArea();
}); 
</script>
</head>
<body>
<input id="biuuu_button" type="button" value="打印"></input>
<div id="myPrintArea">.....文本打印部分.....</div> <div class="quote_title">引用</div><div class="quote_div"></div>
</body>
</html>
作者最新文章