找回密码
 注册
搜索
热搜: java php web
查看: 1043|回复: 4

如何打印网页中的某部分内容

[复制链接]
发表于 2009-1-26 05:30:22 | 显示全部楼层 |阅读模式
一般情况下打印是使用 window.print();函数直接打印整页,但如果需要打印网页中定义的部分内容,则可使用如下的方法,具体方法如下:
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>

<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>
要打印的内容在<!--startprint-->startprint与endprint之间的区域<!--endprint-->里。

<a href="javascript:;" onClick="doPrint()">打印</a>
发表于 2009-1-26 06:04:24 | 显示全部楼层
这技巧的确是牛的不得了...

可是,
带来了一个新问题:
执行完 window.document.body.innerHTML=prnhtml;  之后,
页面的BODY就会同时发生变化.
如果执行打印这个操作不是页面的生命周期末尾,
打印后还要其他操作的话,
就会比较尴尬了.

能否动态创建一个小<iframe>,
将打印的内容放到<iframe>中,
回复

使用道具 举报

发表于 2009-1-26 05:54:54 | 显示全部楼层
非常感謝^^
回复

使用道具 举报

发表于 2009-1-26 06:21:13 | 显示全部楼层
不错。收藏了
回复

使用道具 举报

发表于 2009-1-26 06:30:42 | 显示全部楼层
3#说的很对,这个方法替换body后,页面看到刷新转换页面很明显,不好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-9-20 15:26

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表