Webbrowser控件史上最强技巧全集.docx

上传人:b****2 文档编号:24397084 上传时间:2023-05-27 格式:DOCX 页数:17 大小:20.67KB
下载 相关 举报
Webbrowser控件史上最强技巧全集.docx_第1页
第1页 / 共17页
Webbrowser控件史上最强技巧全集.docx_第2页
第2页 / 共17页
Webbrowser控件史上最强技巧全集.docx_第3页
第3页 / 共17页
Webbrowser控件史上最强技巧全集.docx_第4页
第4页 / 共17页
Webbrowser控件史上最强技巧全集.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

Webbrowser控件史上最强技巧全集.docx

《Webbrowser控件史上最强技巧全集.docx》由会员分享,可在线阅读,更多相关《Webbrowser控件史上最强技巧全集.docx(17页珍藏版)》请在冰豆网上搜索。

Webbrowser控件史上最强技巧全集.docx

Webbrowser控件史上最强技巧全集

Webbrowser控件史上最强技巧全集

VB调用webbrowser技巧集

1、获得浏览器信息:

PrivateSubCommand1_Click()

WebBrowser1.Navigate".applevb."

EndSub

PrivateSubCommand2_Click()

DimoWindow

DimoNav

SetoWindow=WebBrowser1.Document.parentWindow

SetoNav=oWindow.navigator

Debug.PrintoNav.userAgent

SetoWindow=Nothing

SetoNav=Nothing

EndSub

点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。

2、弹出Webbrowser消息窗口

DimoWindow

SetoWindow=WebBrowser1.Document.parentWindow

oWindow.confirm"abcd"

VB调用webbrowser技巧集2

向Webbrowser中写入HTML容的几种方法

首先在Form_Load中加入

WebBrowser1.Navigate"about:

blank"

确保Webbrowser1可用

方法1:

DimsAsString

DimstreamAsIStream

s=""

s=s+""

s=s+""

s=s+"

helloworld

"

s=s+""

s=s+"

WebBrowser1.Document.Writes

方法2:

Dimo

Seto=WebBrowser1.Document.selection.createrange

Debug.Printo

If(NotoIsNothing)Then

o.pasteHTML"哈哈"

Seto=Nothing

EndIf

方法3:

'插入文本框

Dimo

Seto=WebBrowser1.Document.selection.createrange

o.execCommand"InsertTextArea",False,"xxx"

vb调用Webbrowser技巧集3

1、页面滚动:

PrivateSubCommand2_Click()

WebBrowser1.Document.parentwindow.scrollby0,30

EndSub

PrivateSubForm_Load()

WebBrowser1.Navigate".applevb."

EndSub

点击Command2就可以使当前页面向下滚动30像素

2、判断页面是否可以前进后退

PrivateSubCommand1_Click()

WebBrowser1.GoForward

EndSub

PrivateSubCommand2_Click()

WebBrowser1.GoBack

EndSub

PrivateSubForm_Load()

WebBrowser1.Navigate".applevb."

EndSub

PrivateSubWebBrowser1_CommandStateChange(ByValCommandAsLong,ByValEnableAsBoolean)

If(Command=CSC_NAVIGATEBACK)Then

Command2.Enabled=Enable

EndIf

If(Command=CSC_NAVIGATEFORWARD)Then

Command1.Enabled=Enable

EndIf

EndSub

VB调用webbrowser技巧集4

1、如何使网页不出现滚动条:

PrivateSubmnuScroll1_Click()

#注意:

必须在网页完全显示之后才可以运行

WebBrowser1.Document.body.Scroll="no"#不显示滚动条的办法

EndSub

PrivateSubmnuScroll2_Click()

#注意:

必须在网页完全显示之后才可以运行

WebBrowser1.Document.body.Scroll="Auto"#显示滚动条的办法

EndSub

2、如何获得网页中被选中部分的HTML:

PrivateSubCommand1_Click()

DimobjSelection

DimobjTxtRange

SetobjSelection=WebBrowser1.Document.selection

IfNot(objSelectionIsNothing)Then

SetobjTxtRange=objSelection.createRange

IfNot(objTxtRangeIsNothing)Then

Debug.PrintobjTxtRange.htmlText

SetobjTxtRange=Nothing

EndIf

SetobjSelection=Nothing

EndIf

EndSub

PrivateSubForm_Load()

WebBrowser1.Navigate".applevb."

EndSub

Navigate方法的语法格式为:

WebBrowser控件名.NavigateURL

[Flags,][TargetFrameName,][PostData,][Headers]

----WebBrowser控件支持的主要方法有:

GoBack———回退到上一屏。

GoForward———进入到下一屏。

GoHome———回家。

即回到主页。

Stop———停止导航。

Refresh———刷新。

Navigate———导航。

----WebBrowser控件所响应的事件:

----BeforeNavigate事件———在开始导航前发生。

一般在此获取完整的URL字符串。

----WebBrowser控件最主要的参数:

----URL———获得导航用的标准URL字符串。

例如:

它能将”.MicroSoft.Com”自动翻译为”.MicroSoft.Com”.URL是UniformResourceLocator的缩写,是在Internet的WWW服务程序上用于指定信息位置的表示方法。

使用WebBrowser的Navigator或者Navigator2方法打开一个asp文档并且传递

参数进去,但是asp文档无法获得参数,请教是什么原因?

vb源码:

PrivateSubcmdSubmit_Click()

DimstrURLAsString,strFormDataAsString

DimstrDataAsString

strURL=Trim$(txtURL.Text)

strFormData="name="&Trim$(txtName.Text)&

"&password="&Trim$(txtPassword.Text)

CallWBTest.Navigate2(strURL,64,"_blank",strFormData,

"hello")

EndSub

asp源码:

<%Language=VBScript%>

<%

dimstrName

dimstrPassword

strName=Trim(Request.Form("name"))

strPassword=Trim(Request.Form("password"))

Response.Write(strName)

Response.Write(strPassword)

ifstrName="KingZhang"andstrPassword="123456"then

Response.Write("登陆成功")

else

Response.Write("非法登陆用户!

")

endif

%>

*********************************************************************

OptionExplicit

PrivateSubCommand1_Click()

DimszValueAsString

WebBrowser1.Document.body.innerHTML="

窗体顶端

method=postaction=地址/xxx.php>

窗体底端

"

WebBrowser1.Document.Forms("post").submit

EndSub

PrivateSubForm_Load()

WebBrowser1.Navigate2"about:

blank"

EndSub

Top

********************************************************************

请问:

在WebBrwoser控件里提供的Navigate或者Navigate2方法中提供了传递数据

的参数,调用方式为:

WebBrowser1.Navigate2(URL,[Flags],

[TargetFrameName],[PostData],[Headers])

其中PostData参数就是一个提交参数字符串,例如"name=aaa&password=123",

但问题是为什么这个方法并不是有效的,服务器端不能取得数据?

如果这个方法是有效的话就不需要用一段html代码模拟这种调用了。

下面代码能检测出程序post出去的消息

PrivateSubWebBrowser1_BeforeNavigate2(ByValpDispAsObject,URLAsVariant,FlagsAsVariant,TargetFrameNameAsVariant,PostDataAsVariant,HeadersAsVariant,CancelAsBoolean)

MsgBoxPostData

EndSub

WebBrowser的8个方法和13个属性

WebBrowser的8个方法和13个属性,以及它们的功能:

方法说明

 GoBack相当于IE的“后退”按钮,使你在当前历史列表中后退一项

 GoForward相当于IE的“前进”按钮,使你在当前历史列表中前进一项

 GoHome相当于IE的“主页”按钮,连接用户默认的主页

 GoSearch相当于IE的“搜索”按钮,连接用户默认的搜索页面

 Navigate连接到指定的URL

 Refresh刷新当前页面

 Refresh2同上,只是可以指定刷新级别,所指定的刷新级别的值来自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控件,显示.GIF动画?

要有一定的网页知识(HTML、JavaScript、CSS)

注意细节:

没有"滚动条"和"鼠标右键弹出的IE上下文菜单",".HTM源文件"...

我写了一个,效果还真不错!

'Objects:

Form1、Command1、CommonDialog1、WebBrowser1

OptionExplicit

PrivateSubCommand1_Click()

CommonDialog1.ShowOpen

IfVBA.Len(VBA.Trim(CommonDialog1.FileName))>0Then

DimpAsstdole.StdPicture

DimsPathAsString

sPath=VBA.Trim(VBA.Trim(CommonDialog1.FileName))

Setp=VB.LoadPicture(sPath)

WebBrowser1.Width=p.Width*16/26

WebBrowser1.Height=p.Height*16/26

'WebBrowser1.Navigate"about:

blank"

WebBrowser1.Document.open

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln"WebBrowser1.Document.writeln"

WebBrowser1.Document.writeln"WebBrowser1.Document.writeln"

"

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

EndIf

EndSub

PrivateSubForm_Load()

Command1.Caption="&Open"

WebBrowser1.Navigate"about:

blank"

WebBrowser1.Document.open

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln"WebBrowser1.Document.writeln""

WebBrowser1.Document.writeln""

WebBrowser1.Document.Close

EndSub

WebBrowser控件说明

方法说明

 GoBack相当于IE的“后退”按钮,使你在当前历史列表中后退一项

 GoForward相当于IE的“前进”按钮,使你在当前历史列表中前进一项

 GoHome相当于IE的“主页”按钮,连接用户默认的主页

 GoSearch相当于IE的“搜索”按钮,连接用户默认的搜索页面

 Navigate连接到指定的URL

 Refresh刷新当前页面

 Refresh2同上,只是可以指定刷新级别,所指定的刷新级别的值来自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

BeforeNavigate2导航发生前激发,刷新时不激发

CommandStateChange当命令的激活状态改变时激发。

它表明何时激活或关闭Back和Forward

菜单项或按钮

DocumentComplete当整个文档完成是激发,刷新页面不激发

DownloadBegin当某项下载操作已经开始后激发,刷新也可激发此事件

DownloadComplete当某项下载操作已经完成后激发,刷新也可激发此事件

NavigateComplete2导航完成后激发,刷新时不激发

NewWindow2在创建新窗口以前激发

OnFullScreen当FullScreen属性改变时激发。

该事件采用VARIENT_BOOL的一个输

入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE)

OnMenuBar改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。

VARIANT_TRUE是可见,VARIANT_FALSE是隐藏

OnQuit无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发

OnStatusBar与OnMenuBar调用方法相同,标示状态栏是否可见。

OnToolBar调用方法同上,标示工具栏是否可见。

OnVisible控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数

StatusTextChange如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏

TitleChangeTitle有效或改变时激发

WEBBROWSER技巧(收藏)

看到很多关于WebBrowser控件禁止右键的提问,回复的方法很多,其中有提到使用微软提供的Webbrowser扩展COM服务器对象(WBCustomizer.dll),但是该方法在我们想使用Webbrowser编辑网页(Webbrowser1.Document.execCommandeditMode)的时候有很多弊端,比如不能显示选中的文本等。

另有些方法也就不用一一列举了。

这儿我想提到的是关于MSHTML.HTMLDocument

引用MicrosoftHTMLOBjectLibrary

Rem#窗体代码#

DimWithEventsM_DomAsMSHTML.HTMLDocument

PrivateFunctionM_Dom_oncontextmenu()AsBoolea

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1