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 相关文章推荐
cssQuery()的下载与使用方法
Jan 12 Javascript
jquery插件制作教程 txtHover
Aug 17 Javascript
jquery实现图片随机排列的方法
May 04 Javascript
动态加载jQuery的两种方法实例分析
Jul 17 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
基于WebUploader的文件上传js插件
Aug 19 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
Jan 08 Javascript
Bootstrap4 gulp 配置详解
Jan 06 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 Javascript
node.js +mongdb实现登录功能
Jun 18 Javascript
微信小程序实现转盘抽奖
Sep 21 Javascript
three.js如何实现3D动态文字效果
Mar 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 中include()与require()的对比
2006/10/09 PHP
JS 拼图游戏 面向对象,注释完整。
2009/06/18 Javascript
TypeScript入门-接口
2017/03/30 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
Javascript中parseInt的正确使用方式
2018/10/17 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
[48:41]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python线程、进程和协程详解
2016/07/19 Python
利用Python实现Shp格式向GeoJSON的转换方法
2019/07/09 Python
Django实现跨域请求过程详解
2019/07/25 Python
Python 处理文件的几种方式
2019/08/23 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
python实现超级玛丽游戏
2020/03/18 Python
python实现梯度下降法
2020/03/24 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
python函数超时自动退出的实操方法
2020/12/28 Python
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
银行员工辞职信范文
2014/01/20 职场文书
幼儿教师考核制度
2014/01/25 职场文书
活动志愿者自荐信
2014/01/27 职场文书
读书演讲主持词
2014/03/18 职场文书
教师党员公开承诺书
2014/03/25 职场文书
微电影大赛策划方案
2014/06/05 职场文书
五一活动标语
2014/06/30 职场文书
商铺门前三包责任书
2014/07/25 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
入党现实表现材料
2014/12/23 职场文书
年度考核登记表个人总结
2015/03/06 职场文书
个人求职信格式范文
2015/03/20 职场文书
学校教学工作总结2015
2015/05/19 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
Python闭包的定义和使用方法
2022/04/11 Python