JavaScript实现网页打印,可设置页眉、页脚、页边距
|
admin
2011年3月1日 17:50
本文热度 3078
|
WebBrowser是IE内置的浏览器控件,无需用户下载,即可实现客户端页面打印。
关于这个组件还有其他的用法,列举如下:
- WebBrowser.ExecWB(1,1) 打开
- Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
- Web.ExecWB(4,1) 保存网页
- Web.ExecWB(6,1) 打印
- Web.ExecWB(7,1) 打印预览
- Web.ExecWB(8,1) 打印页面设置
- Web.ExecWB(10,1) 查看页面属性
- Web.ExecWB(15,1) 好像是撤销,有待确认
- Web.ExecWB(17,1) 全选
- Web.ExecWB(22,1) 刷新
- Web.ExecWB(45,1) 关闭窗体无提示
WebBrowser.ExecWB(1,1) 打开
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
Web.ExecWB(4,1) 保存网页
Web.ExecWB(6,1) 打印
Web.ExecWB(7,1) 打印预览
Web.ExecWB(8,1) 打印页面设置
Web.ExecWB(10,1) 查看页面属性
Web.ExecWB(15,1) 好像是撤销,有待确认
Web.ExecWB(17,1) 全选
Web.ExecWB(22,1) 刷新
Web.ExecWB(45,1) 关闭窗体无提示
注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:
打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用。
- <SCRIPT language=javascript>
- var HKEY_Root,HKEY_Path,HKEY_Key;
- HKEY_Root="HKEY_CURRENT_USER";
- HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
- var head,foot,top,bottom,left,right;
-
-
- function PageSetup_temp() {
- try
- {
- var Wsh=new ActiveXObject("WScript.Shell");
- HKEY_Key="header";
-
- head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
- HKEY_Key="footer";
-
- foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
- HKEY_Key="margin_bottom";
-
- bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
- HKEY_Key="margin_left";
-
- left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
- HKEY_Key="margin_right";
-
- right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
- HKEY_Key="margin_top";
-
- top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
- }
- catch(e){
- alert("不允许ActiveX控件");
- }
- }
-
-
- 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,"");
- HKEY_Key="margin_bottom";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
- HKEY_Key="margin_left";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
- HKEY_Key="margin_right";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
- HKEY_Key="margin_top";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"8");
- }
- catch(e){
- alert("不允许ActiveX控件");
- }
- }
-
- function PageSetup_Default()
- {
- try
- {
- var Wsh=new ActiveXObject("WScript.Shell");
- HKEY_Key="header";
- HKEY_Key="header";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head);
- HKEY_Key="footer";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot);
- HKEY_Key="margin_bottom";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom);
- HKEY_Key="margin_left";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left);
- HKEY_Key="margin_right";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right);
- HKEY_Key="margin_top";
-
- Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top);
- }
- catch(e){
- alert("不允许ActiveX控件");
- }
- }
-
- function printorder()
- {
- PageSetup_temp();
- PageSetup_Null();
- factory.execwb(6,6);
- PageSetup_Default();
-
- window.close();
- }
-
- </script>
- <OBJECT id=factory height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>
该文章在 2011/3/1 17:50:36 编辑过