VB Webbrowser控件详解

新加内容:

提交表单form1:
Private Sub Command1_Click()
WebBrowser1.Document.Forms("form1").submit
End Sub

将form1中的名为u的属性设为不可用:
Private Sub Command2_Click()
WebBrowser1.Document.Forms("form1").u.setAttribute "disabled", "disabled"
End Sub

将form1中的名为u的Text框中的内容设为abc:
Private Sub Command2_Click()
WebBrowser1.Document.Forms("form1").u.setAttribute "value", "abc"
End Sub

 

1、获得浏览器信息:
Private Sub Command1_Click()
WebBrowser1.Navigate "http://www.applevb.com"
End Sub
Private Sub Command2_Click()
Dim oWindow
Dim oNav
Set oWindow = WebBrowser1.Document.parentWindow
Set oNav = oWindow.navigator
Debug.Print oNav.userAgent
Set oWindow = Nothing
Set oNav = Nothing
End Sub
点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。

2、弹出Webbrowser消息窗口

Dim oWindow
Set oWindow = WebBrowser1.Document.parentWindow
oWindow.confirm "abcd"

VB调用webbrowser技巧集2

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

首先在Form_Load中加入

WebBrowser1.Navigate "about:blank"

确保Webbrowser1可用


方法1:

Dim s As String
Dim stream As IStream

s = ""
s = s + ""
s = s + ""
s = s + "

hello world

"
s = s + ""
s = s + "
WebBrowser1.Document.Write s


方法2:

Dim o

Set o = WebBrowser1.Document.selection.createrange
Debug.Print o
If (Not o Is Nothing) Then
o.pasteHTML "哈哈"
Set o = Nothing
End If


方法3:

''插入文本框
Dim o

Set o = WebBrowser1.Document.selection.createrange

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

vb调用Webbrowser技巧集3
1、页面滚动:

Private Sub Command2_Click()
WebBrowser1.Document.parentwindow.scrollby 0, 30
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.applevb.com"
End Sub


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


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

Private Sub Command1_Click()
WebBrowser1.GoForward
End Sub

Private Sub Command2_Click()
WebBrowser1.GoBack
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.applevb.com"
End Sub

Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
If (Command = CSC_NAVIGATEBACK) Then
Command2.Enabled = Enable
End If
If (Command = CSC_NAVIGATEFORWARD) Then
Command1.Enabled = Enable
End If
End Sub

VB调用webbrowser技巧集4

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

Private Sub mnuScroll1_Click()
@#注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "no" @#不显示滚动条的办法
End Sub
Private Sub mnuScroll2_Click()
@#注意:必须在网页完全显示之后才可以运行
WebBrowser1.Document.body.Scroll = "Auto" @#显示滚动条的办法
End Sub

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

Private Sub Command1_Click()
Dim objSelection
Dim objTxtRange

Set objSelection = WebBrowser1.Document.selection
If Not (objSelection Is Nothing) Then
Set objTxtRange = objSelection.createRange
If Not (objTxtRange Is Nothing) Then
Debug.Print objTxtRange.htmlText

Set objTxtRange = Nothing
End If
Set objSelection = Nothing
End If
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.tianzhigang.com"
End Sub

Navigate 方 法 的 语 法 格 式 为:

WebBrowser 控 件 名.Navigate URL
[Flags,][TargetFrameName,][PostData,][Headers]

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

GoBack — — — 回 退 到 上 一 屏。
GoForward — — — 进 入 到 下 一 屏。
GoHome — — — 回 家。 即 回 到 主 页。
Stop — — — 停 止 导 航。
Refresh — — — 刷 新。
Navigate — — — 导 航。

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

---- BeforeNavigate 事 件 — — — 在 开 始 导 航 前 发 生。 一 般 在 此 获 取 完 整 的URL 字 符 串。

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

---- URL — — — 获 得 导 航 用 的 标 准URL 字 符 串。 例 如: 它 能 将”www.MicroSoft.Com” 自 动 翻 译 为”http://www.MicroSoft.Com”.URL 是Uniform Resource Locator 的 缩 写, 是 在Internet 的WWW 服 务 程 序 上 用 于 指 定 信 息 位 置 的 表 示 方 法。

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

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

vb源码:
Private Sub cmdSubmit_Click()
Dim strURL As String, strFormData As String
Dim strData As String
strURL = Trim$(txtURL.Text)
strFormData = "name=" & Trim$(txtName.Text) &

"&password=" & Trim$(txtPassword.Text)
Call WBTest.Navigate2(strURL, 64, "_blank", strFormData,

"hello")
End Sub

asp源码:

<%@ Language=VBScript %>
<%
dim strName
dim strPassword
strName=Trim(Request.Form("name"))
strPassword=Trim(Request.Form("password"))
Response.Write(strName)
Response.Write(strPassword)
if strName="KingZhang" and strPassword="123456" then
Response.Write("登陆成功")
else
Response.Write("非法登陆用户!")
end if

%>

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

Option Explicit

Private Sub Command1_Click()
Dim szValue As String
WebBrowser1.Document.body.innerHTML = "


method=post action=http://地址/xxx.php>
"
WebBrowser1.Document.Forms("post").submit
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate2 "about:blank"
End Sub
Top


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

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

的参数,调用方式为:WebBrowser1.Navigate2(URL,[Flags],

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

但问题是为什么这个方法并不是有效的,服务器端不能取得数据?
如果这个方法是有效的话就不需要用一段html代码模拟这种调用了。

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

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)
MsgBox PostData
End Sub

WebBrowser的8个方法和13个属性

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

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

 GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项
 GoHome 相当于IE的“主页”按钮,连接用户默认的主页
 GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面
 Navigate 连接到指定的URL
 Refresh 刷新当前页面
 Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,
该表定义在ExDisp.h中,可以指定的不同值如下:
REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器
REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新
REFRESH_CONTINUE 仅作内部使用。在MSDN里写着DO NOT USE! 请勿使用
REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器

 Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入
属性 说明
 Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser
控件的自动化对象



[本日志由 admin 于 2010-05-15 10:19 AM 编辑]
上一篇: IIS设置Rewrite伪静态时的权限问题
下一篇: vb实现延时执行的几种方法
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: vb webbrowser
相关日志:
评论: 0 | 引用: 0 | 查看次数: 5405
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭

 广告位

↑返回顶部↑