以前用户在打印网页内容时,一般直接选择IE的打印功能就行。有的WEB页面上也有“打印此文档”的链接功能,引用的也是“window.print();”,类似于手工打印页面。
一般我们用到网页的打印,都仅对页面上的主要内容感兴趣,一些相关的广告图片、无用的文字信息等都可以排除。如果需要实现这样的效果,则使用上面的方法肯定是不可取的。上次我在写域名查询的时候,使用了XML,同时处理查询反馈信息是进行截取的方法,即仅对有用处的信息进行读取。其实网上那些所谓的“ 小偷程序”也是这样的原理。借助这样的思路,我尝试着对网页打印也进行“截取”处理一下了。当然,也是针对网页的HTML源代码进行操作了,方法如下:
1、在页面的代码头部处加入JavaScript:
<script language=javascript>
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
</script>
2、在页面正文处加上<!--startprint-->与<!--endprint-->标识。也就是在需要用户打印保存的正文所对应的html处附加上。
3、截取内容部分已完成,现在加个“打印”的链接:
<a href="javascript:;" onClick="doPrint()">打印教程</a>
========================================================
1.JavaScript局部打印
<input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();" />
可以用样式控制,你想让那块打印就打印啊,样式如下:
<style type="text/css" media=print>
.noprint{display : none }
</style>
然后使用样式就可以:
<p class="noprint">不需要打印的地方</p>
=============================================================
2:组件法
WebBrowser是IE内置的浏览器控件,无需用户下载.
一、WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
二、WebBrowder控件的方法
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:
<style type="text/css" media=print>
.noprint......{display : none }
</style>
然后使用样式就可以:
<p class="noprint">不需要打印的地方</p>
代码如下:
<script language="javascript">
function printsetup()......{
// 打印页面设置
wb.execwb(8,1);
}
function printpreview()......{
// 打印页面预览
wb.execwb(7,1);
}
function printit()
....{
if (confirm('确定打印吗?')) ......{
wb.execwb(6,6)
}
}
</script>
<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
<input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()">
<input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();">
<input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();">
===================================================
JS 实现简单的页面局部打印
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();
}
}
使用很简单 将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
再加个打印按纽 onclick=preview(1)
没有合适的资源?快使用搜索试试~ 我知道了~
利用javascript实现网页打印
共2个文件
txt:1个
htm:1个
需积分: 28 13 下载量 195 浏览量
2010-10-28
18:13:10
上传
评论
收藏 3KB ZIP 举报
温馨提示
利用javascript在网页上实现打印的方法,可以设置分页等页面设置。
资源推荐
资源详情
资源评论
收起资源包目录
javascript打印.zip (2个子文件)
javascript打印.htm 3KB
javascript打印.txt 4KB
共 2 条
- 1
资源评论
shalalahoo
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功