表头表尾:
js调用window.print();方法的时候,打印出来的文档一般都会带有当前也的相关信息,如title值,页码,还有打印的地址,日期等。
当某些时候,不需要将这些信息也打印出来,则需要将这些表头表尾过滤掉,可以通过下面的方法达到目的
1 通过js方法改写注册表,将表头表尾过滤
js方法
//设置网页打印的页眉页脚为空 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,"") hkey_key="margin_bottom"; RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.75000"); hkey_key="margin_left"; RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.75000"); hkey_key="margin_right" RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.75000"); hkey_key="margin_top" RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"0.39370"); } catch(e) { alert(e.message); } }
将上面这段代码在body的onload时间中调用
<body οnlοad="pagesetup_null();">
2 完成上面步骤后,刷新要打印的页面,发现可能会提示“automation服务器不能创建对象”
将internet的安全选项的“对没有标记为安全的ActiveX控件进行初始化和脚本运行”的选项“启用”选中,点击“应用”按钮,再确定
回到页面,刷新,没有提示了
3 隐藏“打印”按钮
一般都会在页面上做一个打印按钮,点击按钮“打印”,选择打印机开始打印,但打印的时候把这个按钮也打出来了,需要将其去掉,如下
将这个按钮放置在一个div层中,设置该层的id(如id="printDiv"),在调用window.print()方法之前,把打印按钮所在的层隐藏起来
document.getElementById("printDiv").style.display = "none";
这样,打印出来的文档就是我们所需要的了