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


Posted in Javascript onDecember 15, 2009
<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控件进行初始化和脚本运行 设置为启用
更多功能请参考三水点靠木现在用的代码。
http://img.3water.com/inc/content.js

Javascript 相关文章推荐
javascript中的关于类型转换的性能优化
Dec 14 Javascript
JS中的this变量的使用介绍
Oct 21 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
Jun 10 Javascript
jquery实现多条件筛选特效代码分享
Aug 28 Javascript
js获取本机操作系统类型的两种方法
Dec 19 Javascript
基于jQuery实现表格内容的筛选功能
Aug 21 Javascript
Javascript6中字符串的四个新用法分享
Sep 11 Javascript
Javascript中数组去重与拍平的方法示例
Feb 03 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
Mar 08 Javascript
微信小程序实现顶部选项卡(swiper)
Jun 19 Javascript
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
关于javascript中的promise的用法和注意事项(推荐)
Jan 15 Javascript
jQuery 渐变下拉菜单
Dec 15 #Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
Dec 15 #Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 #Javascript
查询绑定数据岛的表格中的文本并修改显示方式的js代码
Dec 15 #Javascript
jquery自动完成插件(autocomplete)应用之PHP版
Dec 15 #Javascript
Javascript attachEvent传递参数的办法
Dec 14 #Javascript
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 #Javascript
You might like
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
php array_search() 函数使用
2010/04/13 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
2016/01/25 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python缩进区别分析
2014/02/15 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python软件都是免费的吗
2020/06/18 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
写给女朋友的检讨书
2014/01/28 职场文书
公司活动方案范文
2014/03/06 职场文书
个人自我鉴定总结
2014/03/25 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
nginx lua 操作 mysql
2022/05/15 Servers