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 相关文章推荐
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
Apr 04 Javascript
js获取IP地址的方法小结
Jul 01 Javascript
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
javaScript知识点总结(必看篇)
Jun 10 Javascript
ionic中列表项增加和删除的实现方法
Jan 22 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
Oct 27 jQuery
jQuery.Sumoselect插件实现下拉复选框效果
Nov 09 jQuery
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
Sep 28 Javascript
JS实现扫雷项目总结
May 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文本数据库的搜索方法
2006/10/09 PHP
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
JavaScript对象数组排序函数及六个用法
2015/12/23 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
vue.js语法及常用指令
2017/10/29 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
富文本编辑器vue2-editor实现全屏功能
2019/05/26 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
如何优雅地处理Django中的favicon.ico图标详解
2018/07/05 Python
python实现随机漫步算法
2018/08/27 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
Python计算两个矩形重合面积代码实例
2019/09/16 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
医院门卫岗位职责
2013/12/30 职场文书
婚礼证婚人证婚词
2014/01/08 职场文书
美德好少年事迹材料
2014/01/19 职场文书
投标担保书范文
2014/04/02 职场文书
施工协议书范本
2014/04/22 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
浅析Django接口版本控制
2021/06/26 Python