javascript控制网页打印与打印设置
转载自:http://huaichang.blogbus.com/logs/24518499.html控制网页打印一般有两套方案,一套是使用免费的ie默认打印,另一种是使用第三方开发的打印组件,下面介绍的是使用ie默认打印实现通过JavaScript代码控制打印。直接上代码,里面有解释:
第一段代码,使用css控制打印范围,默认的是打印所有网页的内容,如果一些内容不想被打印,可以通过加一个class=Noprint来实现
<style media=print>
.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目-->
.PageNext{page-break-after: always;}<!--控制分页-->
</style>
第二段代码,设置页眉页脚使用到的JavaScript代码,这段代码不是必须的。这个是通过修改注册表里关于ie打印的参数,实现的修改页眉页脚的功能。可以在页面放一个按钮来调用函数,也可以使页面加载时就调用一下PageSetup_Default() 函数。
<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 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页00码,&p/&P");
HKEY_Key="footer";
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");
}
catch(e){}
}
</script>
页眉页脚设置里面的参数详解:http://huaichang.blogbus.com/logs/24518601.html
第三段代码,打印预览和页面设置的代码。把他放进页面适当的位置,就可以实现通过点击打印预览按钮实现打印预览功能了。下面代码里的清空页码和恢复页面只是一个辅助选项,不是必须要添加的,可以根据实际情况来决定有没有必要保留。
<input type="button" value="清空页码" onclick=PageSetup_Null()>
<input type="button" value="恢复页码" onclick=PageSetup_Default()>
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>
<input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1) />
另外附上一些与之类似的代码,都是ie自带的一些功能。
因为代码比较多,所以放一个新的页面里面了:http://huaichang.blogbus.com/logs/24519366.html
页:
[1]