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 相关文章推荐
Js 随机数产生6位数字
May 13 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
Apr 27 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
JavaScript中清空数组的方法总结
Dec 02 Javascript
JavaScript获取当前时间向前推三个月的方法示例
Feb 04 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
Vuex提升学习篇
Jan 11 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
Jan 29 Javascript
Javascript webpack动态import
Apr 19 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
深入探讨:PHP使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
PHP实现八皇后算法
2019/05/06 PHP
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
JavaScript 数组的进化与性能分析
2017/09/18 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
Vue+Element实现表格编辑、删除、以及新增行的最优方法
2019/05/28 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
对layui数据表格动态cols(字段)动态变化详解
2019/10/25 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python实现的生成word文档功能示例
2019/08/23 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Python实现FLV视频拼接功能
2020/01/21 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
新学期开学寄语
2014/01/18 职场文书
酒店经理职责
2014/01/30 职场文书
实践单位评语
2014/04/26 职场文书
2014年国庆标语
2014/06/30 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
2014年个人技术工作总结
2014/12/08 职场文书
公司更名通知函
2015/04/24 职场文书
郭明义观后感
2015/06/08 职场文书
军训新闻稿范文
2015/07/17 职场文书