通过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
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内置的控件,但是因为它可能会直接操作客户端打印机等操作,并不是默认启用的,在安全性为默认的情况下。只有将使用该控件的站点设置为【信任】,该控件才可以使用。下图在非信任的情况下,控件被阻止的画面。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。