通过WebBrowser控件,实现IE浏览器菜单功能

这篇文章所讲的技术,只支持IE浏览器,请读者注意

WebBrowser控件,是IE浏览器的内置控件。顾名思义,这个控件我们可以看成是浏览器本身。通过WebBrowser控件,可以实现一部分IE浏览器的菜单命令。

1. 使用

首先在画面上要通过<object>标签创建这个控件。

<OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT> 

2. 调用方法

WebBrowser.ExecWB nCmdID, nCmdExecOpt, [pvaIn], [pvaOut]

通过这个控件的ExecWB方法,执行命令。例如,菜单的打开功能:

document.all.WebBrowser.ExecWB(1,1);

3. 方法的参数

3.1 nCmdID 参数(这些参数可以通过变量名知道对应菜单上的功能,这里不再逐个描述)

OLECMDID_OPEN = 1 
OLECMDID_NEW = 2 
OLECMDID_SAVE = 3 
OLECMDID_SAVEAS = 4 
OLECMDID_SAVECOPYAS = 5 
OLECMDID_PRINT = 6 
OLECMDID_PRINTPREVIEW = 7 
OLECMDID_PAGESETUP = 8 
OLECMDID_SPELL = 9 
OLECMDID_PROPERTIES = 10 
OLECMDID_CUT = 11 
OLECMDID_COPY = 12 
OLECMDID_PASTE = 13 
OLECMDID_PASTESPECIAL = 14 
OLECMDID_UNDO = 15 
OLECMDID_REDO = 16 
OLECMDID_selectALL = 17 
OLECMDID_CLEARselectION = 18 
OLECMDID_ZOOM = 19 
OLECMDID_GETZOOMRANGE = 20 
OLECMDID_updateCOMMANDS = 21 
OLECMDID_REFRESH = 22 
OLECMDID_STOP = 23 
OLECMDID_HIDETOOLBARS = 24 
OLECMDID_SETPROGRESSMAX = 25 
OLECMDID_SETPROGRESSPOS = 26 
OLECMDID_SETPROGRESSTEXT = 27 
OLECMDID_SETTITLE = 28 
OLECMDID_SETDOWNLOADSTATE = 29 
OLECMDID_STOPDOWNLOAD = 30 


3.2 nCmdExecOpt 参数(不知道如何的话,第二个参数使用1)

OLECMDEXECOPT_DODEFAULT = 0, 
OLECMDEXECOPT_PROMPTUSER = 1, 
LECMDEXECOPT_DONTPROMPTUSER = 2, 
OLECMDEXECOPT_SHOWHELP = 3 


3.3 常用参数

WebBrowser.ExecWB(1,1)  //打开
WebBrowser.ExecWB(2,1)  //关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1)  //保存网页
WebBrowser.ExecWB(6,1)  //打印
WebBrowser.ExecWB(7,1)  //打印预览
WebBrowser.ExecWB(8,1)  //打印页面设置
WebBrowser.ExecWB(10,1) //查看页面属性
WebBrowser.ExecWB(15,1) //好像是撤销,有待确认
WebBrowser.ExecWB(17,1) //全选
WebBrowser.ExecWB(22,1) //刷新
WebBrowser.ExecWB(45,1) //关闭窗体无提示

4. 测试页面

<!DOCTYPE html>
<html lang="zh-cn">
  <head>
    <meta charset="utf-8" />
    <meta name="author" content="Densin.Tian@CisternData" />
    <title>WebBrowser Test</title>
  </head>
  <body>
    This is a WebBrowser Test.<br/>
    <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT> 
    <input name="btn1" onClick="document.all.WebBrowser.ExecWB(1,1) " type="button" value="打开">
    <input name="btn2" onClick="document.all.WebBrowser.ExecWB(2,1) " type="button" value="关闭所有">
    <input name="btn3" onClick="document.all.WebBrowser.ExecWB(4,1) " type="button" value="另存为"> 
    <input name="btn4" onClick="document.all.WebBrowser.ExecWB(6,1) " type="button" value="打印">
    <input name="btn5" onClick="document.all.WebBrowser.ExecWB(6,6) " type="button" value="直接打印">
    <input name="btn6" onClick="document.all.WebBrowser.ExecWB(7,1) " type="button" value="打印预览">
    <input name="btn7" onClick="document.all.WebBrowser.ExecWB(8,1) " type="button" value="页面设置">
    <input name="btn8" onClick="document.all.WebBrowser.ExecWB(10,1)" type="button" value="属性">
    <input name="btn9" onClick="document.all.WebBrowser.ExecWB(17,1)" type="button" value="全选">
    <input name="btna" onClick="document.all.WebBrowser.ExecWB(22,1)" type="button" value="刷新">
    <input name="btnb" onClick="document.all.WebBrowser.ExecWB(45,1)" type="button" value="关闭">
  </body>
</html>

画面测试



5. 关于安全性

WebBrowser控件虽然是IE内置的控件,但是因为它可能会直接操作客户端打印机等操作,并不是默认启用的,在安全性为默认的情况下。只有将使用该控件的站点设置为【信任】,该控件才可以使用。下图在非信任的情况下,控件被阻止的画面。


  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

田辛 | 田豆芽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值