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

Javascript
JAVASCRIPT 实现普通日期转换多少小时前、多少分钟前、多少秒
javascript 根据指定字符把字符串拆分为数组
Javascript Select操作大集合
javascript 复杂的嵌套环境中输出单引号和双引号
判断脚本加载是否完成的方法
jquery cookie插件代码类
js 失去焦点时关闭层实现代码
jquery input checked全选与反选1.3.2的版本
jquery 实现斜导航效果
javascript 日期时间函数(经典+完善+实用)
让按钮失效5秒的js代码
关于JavaScript的一些看法
[原创]js 日期加红代码 适用于各种cms
input 宽度自适应
javascript AutoScroller 函数类
Jquery 基础学习笔记之文档处理
js 键盘方向键 文章翻页跳转的效果[小说站常用]
Javascript 日期对象Date扩展
JS 文字符串转换unicode编码函数
帮助避免错误的Javascript陷阱清单

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 379 ::
收藏到网摘: 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