WebBrowser是IE内置的浏览器控件,无需用户下载,即可实现客户端页面打印。
关于这个组件还有其他的用法,列举如下:
代码 :
//个功能的含义如下------
1.WebBrowser.ExecWB(1,1) 打开
2.Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
3.Web.ExecWB(4,1) 保存网页
4.Web.ExecWB(6,1) 打印
5.Web.ExecWB(7,1) 打印预览
6.Web.ExecWB(8,1) 打印页面设置
7.Web.ExecWB(10,1) 查看页面属性
8.Web.ExecWB(15,1) 好像是撤销,有待确认
9.Web.ExecWB(17,1) 全选
10.Web.ExecWB(22,1) 刷新
11.Web.ExecWB(45,1) 关闭窗体无提示
注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:
打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用。
代码 :
1.<SCRIPT language=javascript>
2.var HKEY_Root,HKEY_Path,HKEY_Key;
3.HKEY_Root="HKEY_CURRENT_USER";
4.HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
5.var head,foot,top,bottom,left,right;
6.
7.//取得页面打印设置的原参数数据
8.function PageSetup_temp() {
9. try
10. {
11. var Wsh=new ActiveXObject("WScript.Shell");
12. HKEY_Key="header";
13.//取得页眉默认值
14. head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
15. HKEY_Key="footer";
16.//取得页脚默认值
17. foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
18. HKEY_Key="margin_bottom";
19.//取得下页边距
20. bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
21. HKEY_Key="margin_left";
22.//取得左页边距
23. left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
24. HKEY_Key="margin_right";
25.//取得右页边距
26. right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
27. HKEY_Key="margin_top";
28.//取得上页边距
29. top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
30. }
31. catch(e){
32. alert("不允许ActiveX控件");
33. }
34.}
35.
36.//设置网页打印的页眉页脚和页边距
37.function PageSetup_Null()
38.{
39. try
40. {
41. var Wsh=new ActiveXObject("WScript.Shell");
42. HKEY_Key="header";
43.//设置页眉(为空)
44. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
45. HKEY_Key="footer";
46.//设置页脚(为空)
47. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
48. HKEY_Key="margin_bottom";
49.//设置下页边距(0)
50. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
51. HKEY_Key="margin_left";
52.//设置左页边距(0)
53. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
54. HKEY_Key="margin_right";
55.//设置右页边距(0)
56. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
57. HKEY_Key="margin_top";
58.//设置上页边距(8)
59. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"8");
60. }
61. catch(e){
62. alert("不允许ActiveX控件");
63. }
64.}
65.//设置网页打印的页眉页脚和页边距为默认值
66.function PageSetup_Default()
67.{
68. try
69. {
70. var Wsh=new ActiveXObject("WScript.Shell");
71. HKEY_Key="header";
72. HKEY_Key="header";
73.//还原页眉
74. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head);
75. HKEY_Key="footer";
76.//还原页脚
77. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot);
78. HKEY_Key="margin_bottom";
79.//还原下页边距
80. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom);
81. HKEY_Key="margin_left";
82.//还原左页边距
83. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left);
84. HKEY_Key="margin_right";
85.//还原右页边距
86. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right);
87. HKEY_Key="margin_top";
88.//还原上页边距
89. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top);
90. }
91. catch(e){
92. alert("不允许ActiveX控件");
93. }
94.}
95.
96.function printorder()
97.{
98. PageSetup_temp();//取得默认值
99. PageSetup_Null();//设置页面
100. factory.execwb(6,6);//打印页面
101. PageSetup_Default();//还原页面设置
102. //factory.execwb(6,6);
103. window.close();
104.}
105.
106.</script>
107.<OBJECT id=factory height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>
实验代码(自己书写的测试代码)
<html>
<head><title>test!</title>
<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";
//设置下页边距(0)
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
HKEY_Key="margin_left";
//设置左页边距(0)
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
HKEY_Key="margin_right";
//设置右页边距(0)
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
HKEY_Key="margin_top";
//设置上页边距(8)
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();
}
function printview()
{
// PageSetup_temp();//取得默认值
// PageSetup_Null();//设置页面
factory.execwb(7,1); //打印预览
PageSetup_Default();//还原页面设置
window.close();
}
function printpage()
{
PageSetup_temp();//取得默认值
PageSetup_Null();//设置页面
factory.ExecWB(10,1); 查看页面属性
PageSetup_Default();//还原页面设置
window.close();
}
</script>
<OBJECT id=factory height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>
</head>
<body>
<h1>测试信息</h1>
<br/>
<input type="button" value="查看页面属性" οnclick="printpage()"/>
<input type="button" value="打印预览" οnclick="printview()"/>
<input type="button" value="打印" οnclick="printorder()"/>
</body>
</html>
关于这个组件还有其他的用法,列举如下:
代码 :
//个功能的含义如下------
1.WebBrowser.ExecWB(1,1) 打开
2.Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
3.Web.ExecWB(4,1) 保存网页
4.Web.ExecWB(6,1) 打印
5.Web.ExecWB(7,1) 打印预览
6.Web.ExecWB(8,1) 打印页面设置
7.Web.ExecWB(10,1) 查看页面属性
8.Web.ExecWB(15,1) 好像是撤销,有待确认
9.Web.ExecWB(17,1) 全选
10.Web.ExecWB(22,1) 刷新
11.Web.ExecWB(45,1) 关闭窗体无提示
注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:
打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用。
代码 :
1.<SCRIPT language=javascript>
2.var HKEY_Root,HKEY_Path,HKEY_Key;
3.HKEY_Root="HKEY_CURRENT_USER";
4.HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
5.var head,foot,top,bottom,left,right;
6.
7.//取得页面打印设置的原参数数据
8.function PageSetup_temp() {
9. try
10. {
11. var Wsh=new ActiveXObject("WScript.Shell");
12. HKEY_Key="header";
13.//取得页眉默认值
14. head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
15. HKEY_Key="footer";
16.//取得页脚默认值
17. foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
18. HKEY_Key="margin_bottom";
19.//取得下页边距
20. bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
21. HKEY_Key="margin_left";
22.//取得左页边距
23. left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
24. HKEY_Key="margin_right";
25.//取得右页边距
26. right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
27. HKEY_Key="margin_top";
28.//取得上页边距
29. top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);
30. }
31. catch(e){
32. alert("不允许ActiveX控件");
33. }
34.}
35.
36.//设置网页打印的页眉页脚和页边距
37.function PageSetup_Null()
38.{
39. try
40. {
41. var Wsh=new ActiveXObject("WScript.Shell");
42. HKEY_Key="header";
43.//设置页眉(为空)
44. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
45. HKEY_Key="footer";
46.//设置页脚(为空)
47. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");
48. HKEY_Key="margin_bottom";
49.//设置下页边距(0)
50. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
51. HKEY_Key="margin_left";
52.//设置左页边距(0)
53. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
54. HKEY_Key="margin_right";
55.//设置右页边距(0)
56. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
57. HKEY_Key="margin_top";
58.//设置上页边距(8)
59. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"8");
60. }
61. catch(e){
62. alert("不允许ActiveX控件");
63. }
64.}
65.//设置网页打印的页眉页脚和页边距为默认值
66.function PageSetup_Default()
67.{
68. try
69. {
70. var Wsh=new ActiveXObject("WScript.Shell");
71. HKEY_Key="header";
72. HKEY_Key="header";
73.//还原页眉
74. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head);
75. HKEY_Key="footer";
76.//还原页脚
77. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot);
78. HKEY_Key="margin_bottom";
79.//还原下页边距
80. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom);
81. HKEY_Key="margin_left";
82.//还原左页边距
83. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left);
84. HKEY_Key="margin_right";
85.//还原右页边距
86. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right);
87. HKEY_Key="margin_top";
88.//还原上页边距
89. Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top);
90. }
91. catch(e){
92. alert("不允许ActiveX控件");
93. }
94.}
95.
96.function printorder()
97.{
98. PageSetup_temp();//取得默认值
99. PageSetup_Null();//设置页面
100. factory.execwb(6,6);//打印页面
101. PageSetup_Default();//还原页面设置
102. //factory.execwb(6,6);
103. window.close();
104.}
105.
106.</script>
107.<OBJECT id=factory height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>
实验代码(自己书写的测试代码)
<html>
<head><title>test!</title>
<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";
//设置下页边距(0)
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
HKEY_Key="margin_left";
//设置左页边距(0)
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
HKEY_Key="margin_right";
//设置右页边距(0)
Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0");
HKEY_Key="margin_top";
//设置上页边距(8)
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();
}
function printview()
{
// PageSetup_temp();//取得默认值
// PageSetup_Null();//设置页面
factory.execwb(7,1); //打印预览
PageSetup_Default();//还原页面设置
window.close();
}
function printpage()
{
PageSetup_temp();//取得默认值
PageSetup_Null();//设置页面
factory.ExecWB(10,1); 查看页面属性
PageSetup_Default();//还原页面设置
window.close();
}
</script>
<OBJECT id=factory height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2></OBJECT>
</head>
<body>
<h1>测试信息</h1>
<br/>
<input type="button" value="查看页面属性" οnclick="printpage()"/>
<input type="button" value="打印预览" οnclick="printview()"/>
<input type="button" value="打印" οnclick="printorder()"/>
</body>
</html>