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 相关文章推荐
dojo 之基础篇(三)之向服务器发送数据
Mar 24 Javascript
JQuery 遮罩层实现(mask)实现代码
Jan 09 Javascript
js给dropdownlist添加选项的小例子
Mar 04 Javascript
javascript arguments使用示例
Dec 16 Javascript
JS函数定义方式的区别介绍
Mar 22 Javascript
JS仿hao123导航页面图片轮播效果
Sep 01 Javascript
JavaScript中const、var和let区别浅析
Oct 11 Javascript
JavaScript文件的同步和异步加载的实现代码
Aug 19 Javascript
微信小程序调用微信支付接口的实现方法
Apr 29 Javascript
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
jQuery中getJSON跨域原理的深入讲解
Sep 02 jQuery
使用node-media-server搭建一个简易的流媒体服务器
Jan 20 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
Terran兵种对照表
2020/03/14 星际争霸
Zend的MVC机制使用分析(二)
2013/05/02 PHP
PHP的password_hash()使用实例
2014/03/17 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
jquery 取子节点及当前节点属性值的方法
2014/08/24 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
javascript实现禁止复制网页内容
2014/12/16 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
JS中实现隐藏部分姓名或者电话号码的代码
2018/07/17 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
Python中的面向对象编程详解(下)
2015/04/13 Python
在django中使用自定义标签实现分页功能
2017/07/04 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
地球上最先进的胡子和头发修剪器:Bevel
2018/01/23 全球购物
澳大利亚在线家具、灯饰和家居装饰店:LivingStyles
2018/11/20 全球购物
新西兰最大的天然保健及护肤品网站:HealthPost(直邮中国)
2021/02/13 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
2015年党建工作总结
2015/03/30 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
法院执行局工作总结
2015/08/11 职场文书
技术入股合作协议书
2016/03/21 职场文书
MySQL七种JOIN类型小结
2021/10/24 MySQL
MySQL分区表管理命令汇总
2022/03/21 MySQL
对讲机知识
2022/04/07 无线电