关于webbrower控件的使用.docx
《关于webbrower控件的使用.docx》由会员分享,可在线阅读,更多相关《关于webbrower控件的使用.docx(15页珍藏版)》请在冰豆网上搜索。
关于webbrower控件的使用
关于webbrower控件的使用
步骤说明
GoBack无异于IE的“退后”旋钮,使你在目前历史列表中退后一项 GoForward等同于IE的“前行”旋钮,使你在目前历史列表中前行一项
GoHome等同于IE的“首页”旋钮,联接用户默许的首页
GoSearch无异于IE的“搜寻”旋钮,联接用户默许的搜寻页面
Navigate联接到指定的URL
Refresh刷新现阶段页面
Refresh二同上,只是可以指定刷新级别,所指定的刷新级别的值来源于RefreshConstants枚举表,
该表定义在ExDisp.h中,可以指定的不同值如次:
REFRESH_NORMAL实施简略的刷新,不将HTTPpragma:
no-cache毛发送给服务器
REFRESH_IFEXPIRED惟独在网页逾期后才开展简略的刷新
REFRESH_CONTINUE仅作内部运用。
在MSDN里写着DONOTUSE!
切莫运用
REFRESH_COMPLETELY将包孕pragma:
no-cache头的请求发送到服务器 Stop无异于IE的“终止”旋钮,终止现阶段页面及其内容的载入
属性说明
Application如其该对象有效,则回到主持WebBrowser控件的应用程序兑现的自动化对象(IDispatch)。
如果在宿主对象中自动化对象无效,这个程序将回来WebBrowser
控件的自动化对象
Parent回来WebBrowser控件的父自动化对象,通常是一个器皿,比如是宿主或IE窗口
Container回来WebBrowser控件器皿的自动化对象。
正常该值与Parent属性回到的值雷同
Document为活动的文档回到自动化对象。
如其HTML目前正被展示在WebBrowser中,则
Document属性提供对DHTMLObjectModel的访问路径
TopLevelContainer回来一个Boolean值,表明IE是不是是WebBrowser控件高层器皿,是便回来true Type回到已被WebBrowser控件加载的对象的部类。
比如:
如若加载.doc资料,就会返
来MicrosoftWordDocument
Left回到或设立WebBrowser控件窗口的内部左面与器皿窗口左面的距离
Top回来或设立WebBrowser控件窗口的内部左首与器皿窗口顶边的距离
Width回来或设立WebBrowser窗口的宽度,以像素为组织
Height回到或设立WebBrowser窗口的高度,以像素为机构
LocationName回到一个字符串,该字符串包含着WebBrowser现阶段展示的资源的姓名,如若资源
是网页乃是网页的题目;如果是资料或文件夹,乃是资料或文件夹的姓名
LocationURL回到WebBrowser现阶段在展示的资源的URL
Busy回来一个Boolean值,说明WebBrowser目前是不是在加载URL,如若回来true
就可以施用stop步骤来撤消在实施的访问操作Document属性回到包孕HTML文档姓名的字符串。
Silent属性禁止展示任何部类的对话框。
DocumentText属性获取或设立现阶段网页的HTML内容Url属性获取或设立现阶段网页的URL。
设立该属性时,会将该控件定位到新的URL。
DocumentCompleted事件网页完成加载时产生。
BeforeNavigate事件开始导航前发生。
1般在此获取完整的URL字符串。
GoBackGoForwardGoHome步骤定位到历史记录中的上一页和下一页和首页。
Refresh步骤刷新目前页Navigate步骤定位到指定的URL。
Navigate方法的语法格式为:
[Flags,][TargetFrameName,][PostData,][Headers]URL参数UniformResourceLocator获得导航用的标准URL字符串。
例如:
它会将”www.MicroSoft.Com”从动翻译为”http:
//www.MicroSoft.Com”.webBrowser运用
摘引MicrosoftHTMLObjectLibrary和MicrosoftInternetControls控件'获取Document对象
SetWBD=WebBrowser一.Document获取网页源代码WebBrowser一.Document.body.createtextrange().htmltext最简略的登陆SetWBD=WebBrowser一.Document
WBD.body.All('name').Value=''
WBD.body.All('PASS').Value=''
WBD.Forms(零).submit调用带参数的javascriptWBD.parentWindow.execScript'document.login.submit()','javascript'障蔽网页的alert对话框PrivateSubWebBrowser一_NavigateComplete二(ByValpDispAsObject,URLAsVariant)
pDisp.Document.parentWindow.execScript'window.alert=null;'
EndSub遍历FormIndex=零TomDocument.Forms.length-一'输出每个FORM
PrintmDocument.Forms(mIndex).Name
lstLinks.AddItem'输出联接'
FormIndexEx=零TomDocument.links.length-一'输出联接
lstLinks.AddItemmDocument.links(mIndexEx)
Next
lstLinks.AddItem'图片地址'
FormIndexEx=零TomDocument.images.length-一'输出图片
lstLinks.AddItemmDocument.images(mIndexEx).src'图片地址
Next
Next数据下载完毕后操作PrivateSubWebBrowser一_DocumentComplete(ByValpDispAsObject,URLAsVariant)
IfURL'ThenExitSub
Do
IfNotWebBrowser一.BusyThenExitDo
DoEvents
Loop
取得浏览器信息:
PrivateSubCommand一_Click()
WebBrowser一.Navigate''
EndSub
PrivateSubCommand二_Click()
DimoWindow
DimoNav
SetoWindow=WebBrowser一.Document.parentWindow
SetoNav=oWindow.navigator
Debug.PrintoNav.userAgent
SetoWindow=Nothing
SetoNav=Nothing
EndSub
(点击Command一浏览网页,点击Command二在立地窗口中输出浏览器信息。
)弹出Webbrowser讯息窗口DimoWindow
SetoWindow=WebBrowser一.Document.parentWindow
oWindow.confirm'abcd'页面滚动:
PrivateSubCommand二_Click()
WebBrowser一.Document.parentwindow.scrollby零,30
EndSub
PrivateSubForm_Load()
WebBrowser一.Navigate''
EndSub
(点击Command二就可以使目前页面临下滚动30像素)
判断页面是不是可此前进退后PrivateSubCommand一_Click()
WebBrowser一.GoForward
EndSub
PrivateSubCommand二_Click()
WebBrowser一.GoBack
EndSub
PrivateSubForm_Load()
WebBrowser一.Navigate''
EndSub
PrivateSubWebBrowser一_CommandStateChange(ByValCommandAsLong,ByValEnableAsBoolean)
If(Command=CSC_NAVIGATEBACK)Then
Command二.Enabled=Enable
EndIf
If(Command=CSC_NAVIGATEFORWARD)Then
Command一.Enabled=Enable
EndIf
EndSub
向Webbrowser中写下HTML内容的几种步骤:
首先在Form_Load中加入
WebBrowser一.Navigate'about:
blank'
保准Webbrowser一可用
步骤一:
DimsAsString
DimstreamAsIStream
s=''
s=s+''
s=s+''
s=s+'helloworld'
s=s+''
s=s+'
WebBrowser一.Document.Writes
步骤二:
Dimo
Seto=WebBrowser一.Document.selection.createrange
Debug.Printo
If(NotoIsNothing)Then
o.pasteHTML'哈哈哈'
Seto=Nothing
EndIf
步骤三:
'安插文本框
DimoSeto=WebBrowser一.Document.selection.createrange
o.execCommand'InsertTextArea',False,'xxx'何以使网页不出现滚动条:
PrivateSubmnuScroll一_Click()
@#注意:
务须在网页完全展示以后才可以运作
WebBrowser一.Document.body.Scroll='no'@#不展示滚动条的办法
EndSub
PrivateSubmnuScroll二_Click()
@#注意:
务必在网页完全展示以后才可以运作
WebBrowser一.Document.body.Scroll='Auto'@#展示滚动条的办法
EndSub
何以取得网页中被选中一部分的HTML:
PrivateSubCommand一_Click()
DimobjSelection
DimobjTxtRangeSetobjSelection=WebBrowser一.Document.selection
IfNot(objSelectionIsNothing)Then
SetobjTxtRange=objSelection.createRange
IfNot(objTxtRangeIsNothing)Then
Debug.PrintobjTxtRange.htmlTextSetobjTxtRange=Nothing
EndIf
SetobjSelection=Nothing
EndIf
EndSubPrivateSubForm_Load()
WebBrowser一.Navigate''
EndSub
==================
运用WebBrowser的Navigator也许Navigator二步骤打开一个asp文档而且传送
参数进入,但是asp文档没法取得参数,讨教是什么原因?
vb源码:
PrivateSubcmdSubmit_Click()
DimstrURLAsString,strFormDataAsString
DimstrDataAsString
strURL=Trim$(txtURL.Text)
strFormData='name='&Trim$(txtName.Text)&'&password='&Trim$(txtPassword.Text)
CallWBTest.Navigate二(strURL,64,'_blank',strFormData,'hello')
EndSubasp源码:
*********************************************************************OptionExplicitPrivateSubCommand一_Click()
DimszValueAsString
WebBrowser一.Document.body.innerHTML='
method=postaction=http:
//地址/xxx.php>
'
WebBrowser一.Document.Forms('post').submit
EndSubPrivateSubForm_Load()
WebBrowser一.Navigate二'about:
blank'
EndSub
Top
********************************************************************在WebBrwoser控件里提供的Navigate或许Navigate二步骤中提供了传送数据的参数,调用形式为:
WebBrowser一.Navigate二(URL,[Flags],[TargetFrameName],[PostData],[Headers])
内中PostData参数乃是一个交付参数目字符串,比如'name=aaa&password=123',但问题是为何这个步骤并不是有效的,服务器端不能获得数据?
如其这个步骤是有效的话就不需要用一段html代码模拟这种调用了。
下边代码能检测出程序post出去的讯息PrivateSubWebBrowser一_BeforeNavigate二(ByValpDispAsObject,URLAsVariant,FlagsAsVariant,TargetFrameNameAsVariant,PostDataAsVariant,HeadersAsVariant,CancelAsBoolean)
MsgBoxPostData
EndSub
何以利用WebBrowser控件,展示.GIF卡通?
要有一定的网页常识(HTML、JavaScript、CSS)
注意细节:
没'滚动条'和'鼠标右键弹出的IE前后文菜单','.HTM源文件'...
我写了一个,成效还真不错!
'Objects:
Form一、Command一、CommonDialog一、WebBrowser一
OptionExplicit
PrivateSubCommand一_Click()
CommonDialog一.ShowOpen
IfVBA.Len(VBA.Trim(CommonDialog一.FileName))>零Then
DimpAsstdole.StdPicture
DimsPathAsString
sPath=VBA.Trim(VBA.Trim(CommonDialog一.FileName))
Setp=VB.LoadPicture(sPath)
WebBrowser一.Width=p.Width*16/26
WebBrowser一.Height=p.Height*16/26
'WebBrowser一.Navigate'about:
blank'
WebBrowser一.Document.open
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln'WebBrowser一.Document.writeln'
WebBrowser一.Document.writeln'WebBrowser一.Document.writeln'
'
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
EndIf
EndSub
PrivateSubForm_Load()
Command一.Caption='&Open'
WebBrowser一.Navigate'about:
blank'
WebBrowser一.Document.open
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln'WebBrowser一.Document.writeln''
WebBrowser一.Document.writeln''
WebBrowser一.Document.Close
EndSubWebBrowser控件说明
步骤说明
GoBack等同于IE的“退后”旋钮,使你在现阶段历史列表中退后一项 GoForward等同于IE的“前行”旋钮,使你在现阶段历史列表中前行一项
GoHome无异于IE的“首页”旋钮,联接用户默许的首页
GoSearch无异于IE的“搜寻”旋钮,联接用户默许的搜寻页面
Navigate联接到指定的URL
Refresh刷新目前页面
Refresh二同上,只是可以指定刷新级别,所指定的刷新级别的值来源于RefreshConstants枚举表,
该表定义在ExDisp.h中,可以指定的不同值如次:
REFRESH_NORMAL施行容易的刷新,不将HTTPpragma:
no-cache毛发送给服务器
REFRESH_IFEXPIRED惟独在网页逾期后才开展简略的刷新
REFRESH_CONTINUE仅作内部运用。
在MSDN里写着DONOTUSE!
切莫应用
REFRESH_COMPLETELY将包孕pragma:
no-cache头的请求发送到服务器 Stop等同于IE的“终止”旋钮,终止目前页面及其内容的载入属性说明
Application如若该对象有效,则回到主持WebBrowser控件的应用程序兑现的自动化对象(IDispatch)。
如果在宿主对象中自动化对象无效,这个程序将回到WebBrowser
控件的自动化对象
Parent回来WebBrowser控件的父自动化对象,通常是一个器皿,比如是宿主或IE窗口
Container回到WebBrowser控件器皿的自动化对象。
正常该值与Parent属性回到的值雷同
Document为活动的文档回到自动化对象。
如其HTML现阶段正被展示在WebBrowser中,则
Document属性提供对DHTMLObjectModel的访问路径
TopLevelContainer回来一个Boolean值,表明IE是不是是WebBrowser控件中上层器皿,是便回来true Type回来已被WebBrowser控件加载的对象的门类。
比如:
如其加载.doc资料,就会返
来MicrosoftWordDocument
Left回来或设立WebBrowser控件窗口的内部左侧与器皿窗口左面的距离
Top回到或设立WebBrowser控件窗口的内部左侧与器皿窗口顶边的距离
Width回来或设立WebBrowser窗口的宽度,以像素为部门
Height回来或设立WebBrowser窗口的高度,以像素为组织
LocationName回来一个字符串,该字符串包含着WebBrowser目前展示的资源的姓名,如其资源
是网页便是网页的题目;如果是资料或文件夹,便是资料或文件夹的姓名
LocationURL回来WebBrowser现阶段在展示的资源的URL
Busy回来一个Boolean值,说明WebBrowser现阶段是不是在加载URL,如若回来true
就可以应用stop步骤来取消在施行的访问操作
WebBrowser的事件
PrivateEventsDescription
BeforeNavigate二领航发作前激起,刷新时不激起
CommandStateChange应下令的激活状态改变时激起。
它表明几时激活或封闭Back和Forward
菜单项或旋钮
DocumentComplete应整个文档完成是激起,刷新页面不激起
DownloadBegin应某项下载操作已经开始后激起,刷新也可激起此事件
DownloadComplete应某项下载操作已经完成后激起,刷新也可激起此事件
NavigateComplete二领航完成后激起,刷新时不激起
NewWindow二在创造新窗口早先激起
OnFullScreen应FullScreen属性改变时激起。
该事件采取VARIENT_BOOL的一个输
进参数来指示IE是全屏展示形式(VARIENT_TRUE)仍是普普通通展示形式(VARIENT_FALSE)
OnMenuBar改变MenuBar的属性时激