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 面向对象 命名空间
May 13 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
Jun 12 Javascript
JavaScript实现无刷新上传预览图片功能
Aug 02 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
Jun 10 Javascript
Vue3.0写自定义指令的简单步骤记录
Jun 27 Vue.js
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/05/09 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
laravel model 两表联查示例
2019/10/24 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
Jquery-1.9.1源码分析系列(十一)之DOM操作
2015/11/25 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
2016年最热门的15 款代码语法高亮工具,美化你的代码
2016/01/06 Javascript
BootStrap selectpicker
2016/06/20 Javascript
AngularJS 面试题集锦
2016/09/06 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
迎接领导欢迎词
2014/01/11 职场文书
文明餐桌活动方案
2014/02/11 职场文书
日化店促销方案
2014/03/26 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
公民授权委托书范本
2014/09/17 职场文书
临时租车协议范本
2014/09/23 职场文书
2014年乡镇团委工作总结
2014/12/18 职场文书
体育个人工作总结
2015/02/09 职场文书