当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js实现页面打印功能实例代码(附去页眉页脚功能代码)

Javascript
JavaScript效率调优经验
IE8 兼容性问题(属性名区分大小写)
javascript globalStorage类代码
一些常用的JS功能函数(2009-06-04更新)
js 鼠标点击事件及其它捕获
IE innerHTML,outerHTML所引起的问题
Firefox outerHTML实现代码
JavaScript 封装Ajax传递的数据代码
javascript 手机号码验证是否正确
javascript 冒号 使用说明
javascript 获取链接文件地址中第一个斜线内的正则表达式
JavaScript 回车 焦点切换
javascript 禁止复制网页
图片连续滚动代码[兼容IE/firefox]
犀利的js 函数集合
firefo xml 读写实现js代码
动态刷新 dorado树的js代码
javascript 框架小结 个人工作经验
Javascript 学习书 推荐
javascript getElementByTagName的使用

Javascript 中的 js实现页面打印功能实例代码(附去页眉页脚功能代码)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 343 ::
收藏到网摘: n/a

js实现页面打印功能实例代码(附去页眉页脚功能代码)
复制代码 代码如下:

<html>
<head></head>
<style type="text/css" media="screen">
@media print{
.print {display:block;}
.notPrint {display:none;}
}
</style>
<script language="javascript">
function preview()
{
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>
<body>
<form id="WebForm1" method="post" >
<center>本部分以上不被打印</center>
<!--startprint-->
<div align="center">
<asp:DataGrid id="dgShow" runat="server">
<!--省略部分代码-->
</asp:DataGrid>
<table>
<tr><td>打印打印打印打印打印打印打印打印</td></tr>
</table>
</div>
<!--endprint-->
<center>本部分以下不被打印</center>
<div align="center">
<input type="button" name="print" value="预览并打印" onclick="preview()">
</div>
<style> @media Print { .Noprn { DISPLAY: none }}
</style>
<p class="Noprn">不打印</p>
<table id="datagrid">
<tr>
<td>打印</td>
</tr>
</table>
<input class="Noprn" type="button" onclick="window.print()" value="print">
</form>
</body>
</html>

-------------
使用JS打印,
看代码
复制代码 代码如下:

<script language="javascript">
function preview()
{
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-->和<!--endprint-->
这个标记之间的网页内容。
所以网页中要包含这个2个标签才行···
下面是去除页脚页眉的js代码
复制代码 代码如下:

<script>
var HKEY_Root,HKEY_Path,HKEY_Key;
HKEY_Root="HKEY_CURRENT_USER";
HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
//设置网页打印的页眉页脚为空
function PageSetup_Null()
{
try
{
var Wsh=new ActiveXObject("WScript.Shell");
HKEY_Key="header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
HKEY_Key="footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
}
catch(e)
{}
}
//设置网页打印的页眉页脚为默认值
function PageSetup_Default()
{
try
{
var Wsh=new ActiveXObject("WScript.Shell");
HKEY_Key="header";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");
HKEY_Key="footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
}
catch(e)
{}
}
PageSetup_Default();
</script>

注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:
打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用
更多功能请参考软晨学习网现在用的代码。
/upload/tech/20100110/20100110112435_92cc227532d17e56e07902b254dfad10.js