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 获取页面元素的位置的代码
Sep 25 Javascript
JavaScript移除数组内重复元素的方法
Mar 18 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
May 25 Javascript
jquery解析json格式数据的方法(对象、字符串)
Nov 24 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
Apr 13 Javascript
jQuery UI仿淘宝搜索下拉列表功能
Jan 10 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
Sep 03 jQuery
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
Nov 14 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 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获取网络文件的实现代码
2010/01/01 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
PDO::commit讲解
2019/01/27 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
jquery validate表单验证插件
2016/09/06 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
利用jQuery解析获取JSON数据
2017/04/08 jQuery
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
微信小程序实现富文本图片宽度自适应的方法
2019/01/20 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
Vue 实现输入框新增搜索历史记录功能
2019/10/15 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
JavaScript利用键盘码控制div移动
2020/03/19 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
对Python 语音识别框架详解
2018/12/24 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
python自动识别文本编码格式代码
2019/12/26 Python
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
传统软件工程与面向对象的软件工程有什么区别
2012/05/31 面试题
工程开工庆典邀请函
2014/02/01 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
什么是SOLID
2022/03/24 Javascript
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers