js页面打印去除页眉页脚

南楼画角 提交于 2020-01-19 01:56:55

来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=250
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.com

js的页面打印,页眉和页脚一些多余信息怎么去除2006年10月23日 星期一 9:49欢迎大家访问我的网站: http://www.gaotianpu.com/

我用了一个打印的控件,然后调用js的print()函数,就打印窗口页面,但是在有些机器上页眉有html里面title的内容打印出来,还有第几页的标识,页脚有该窗口页面的地址打印出来,还有日期,这些信息我都是不需要的,在少数机器上有时就没有,我不知道是什么原因,谁能指点一下是什么的缘故和怎么解决?万分感激!!


解决方案一:

<HTML><HEAD>   
<script   language="JavaScript">   
var   hkey_root,hkey_path,hkey_key   
hkey_root="HKEY_CURRENT_USER"   
hkey_path="\\Software\\Microsoft\\Internet   Explorer\\PageSetup\\"   
//设置网页打印的页眉页脚为空   
function   pagesetup_null()   
{   
try{   
var   RegWsh   =   new   ActiveXObject("WScript.Shell")   
hkey_key="header"           
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")   
hkey_key="footer"   
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")   
}catch(e){}   
}   
//设置网页打印的页眉页脚为默认值   
function   pagesetup_default()   
{   
try{   
var   RegWsh   =   new   ActiveXObject("WScript.Shell")   
hkey_key="header"           
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P")   
hkey_key="footer"   
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&u&b&d")   
}catch(e){}   
}   
</script>   
</HEAD>   

<BODY><br/><br/><br/><br/><br/><br/><p   align=center>   
<input   type="button"   value="清空页码"   onclick=pagesetup_null()>   
<input   type="button"   value="恢复页码"   onclick=pagesetup_default()><br/>   
</p></BODY></HTML> 

需要将ie安全级别降低,否则创建ActiveXObject对象时会报错。
解决方案二:
使用第三方免费控件

<head>   
<title>打印确认</title>   
<style   media="print">   
.noprint   {   display:   none   }   
</style>   
</head>   
<body>   
<object   id="factory"   style="display:none"   viewastext   classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"   codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"></object>   
<script   defer>   
function   window.onload()   {   
//factory.printing.paperSize   =   "A3"   
factory.printing.header   =   ""   
factory.printing.footer   =   ""   
factory.printing.portrait   =   false   
idPrint1.disabled   =   false;   //   enable   UI   button   
idPrint2.disabled   =   false;   
idPrint3.disabled   =   false;   
idPrint4.disabled   =   false;   
factory.printing.leftMargin   =   0.75   
factory.printing.topMargin   =   1.5   
factory.printing.rightMargin   =   0.75   
factory.printing.bottomMargin   =   1.5   
}   
</script>   
<div   class=noprint>   
<input   id="idPrint1"   type="button"   value="打印本页"   
onclick="factory.printing.Print(false)">   
<input   id="idPrint2"   type="button"   value="页面设置"   
onclick="factory.printing.PageSetup()">   
<input   id="idPrint3"   type="button"   value="打印预览"   
onclick="factory.printing.Preview()">   
<input   id="idPrint4"   type="button"   
onclick="window.close()"   value="关闭窗口">   
</div>   
<br/>   
<table   width="720"   border="0"   cellspacing="0"   cellpadding="0"   align="center"   >   
<tr>     
<td     bgcolor="#0099ff">   
这里是你要打印的内容,上面的按钮不会被打印出来<br/>   
factory.printing.paperSize   =   "A3"   
</td>   
</tr></table></body> 

要降低ie的安全级别。

两种方案的缺点都是要降低ie的安全级别,如果不想降低,就不能在代码中实现,而要象上面一样手动更改了。

来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=250
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
http://cnsendnet.taobao.com

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!