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 04 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
js+html+css实现鼠标移动div实例
Jan 30 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
jQuery分组选择器用法实例
Dec 23 Javascript
js表头排序实现方法
Jan 16 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
May 10 Javascript
JS打印组合功能
Aug 04 Javascript
浅谈Angular HttpClient简单入门
May 04 Javascript
微信小程序框架wepy之动态控制类名
Sep 14 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
Feb 05 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 获取目录下的图片并随机显示的代码
2009/12/28 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
js继承 Base类的源码解析
2008/12/30 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
浅析Python中的多进程与多线程的使用
2015/04/07 Python
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
python实现Flappy Bird源码
2018/12/24 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python3使用GUI统计代码量
2019/09/18 Python
python利用platform模块获取系统信息
2020/10/09 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
复古服装:RetroStage
2019/05/10 全球购物
《绿色蝈蝈》教学反思
2014/03/02 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
网络营销策划方案
2014/06/04 职场文书
2014年学生会主席工作总结
2014/11/07 职场文书
python实现图片批量压缩
2021/04/24 Python