WebBrowser 控件文件:system32\shdocvw.oca shdocvw.dll 注册:regsvr32 shdocvw.dll WebBrowser.OleObject.Document 为活动的文档返回自动化对象,引用 Microsoft HTML Object Library 可查看详细属性和方法
■■方法 ============================== ▲GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项 ▲GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项 ▲GoHome 相当于IE的“主页”按钮,连接用户默认的主页 ▲GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面 ▲Navigate 连接到指定的 URL,并显示网页 ▲Navigate2 与 Navigate 作用同? ▲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的“停止”按钮,停止当前页面及其内容的载入
■■属性=================================== ▲Document 为活动的文档返回自动化对象。如果HTML当前正被显示在 Web1 中,则 Document 提供 对DHTML Object Model的访问途径。下面有详细介绍 ▲TopLevelContainer 返回一个Boolean值,表明 IE 是否是 Web1 控件顶层容器,是就返回 true ▲Type 返回已被 Web1 控件加载的对象的类型。例如: 如果加载.doc文件,就会返回 Microsoft Word Document ▲LocationName 返回一个字符串,该字符串包含着 Web1 当前显示的资源的名称, 如果资源是网页就是网页的标题; 如果是文件或文件夹,就是文件或文件夹的名称 ▲LocationURL 返回 Web1 当前正在显示的资源的 URL ▲Busy 返回一个Boolean值,说明 Web1 当前是否正在加载 URL,如果返回 true 就可以使用 stop 方法来撤销正在执行的访问操作 ▲Object 设置返回一个显现网页的 SHDocVwCtl.WebBrowser_V1 对象。参见下文。 ▲MenuBar ▲StatusBar ▲ToolBar ▲Visible ■■事件=================================== ▲BeforeNavigate2 导航发生前触发(打开网页前),刷新时不触发 ▲CommandStateChange 当命令的激活状态改变时触发。它表明何时激活或关闭Back和Forward菜单项或按钮 ▲DocumentComplete 当整个文档完成是触发,刷新页面不触发 ▲DownloadBegin 当某项下载操作已经开始后触发,刷新也可触发此事件 ▲DownloadComplete 当某项下载操作已经完成后触发,刷新也可触发此事件 ▲NavigateComplete2 导航完成后触发,刷新时不触发 ▲NewWindow2 弹出新窗口以前触发 可在此事件中设置 ppDisp 参数新网页显示对象,同时不会出现 SHDocVwCtl.WebBrowser_V1 的 NewWindow 事件 ▲OnFullScreen 当 FullScreen 属性改变时触发。该事件采用 VARIENT_BOOL 的一个输入参数来指示 IE 是全 屏显示方式(VARIENT_TRUE)还是普通显示方式(VARIENT_FALSE) ▲OnMenuBar 改变 MenuBar 属性时触发,标示参数是 VARIENT_BOOL 类型的。 VARIANT_TRUE 可见,VARIANT_ FALSE 隐藏 ▲OnQuit 无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会触发 ▲OnStatusBar 改变 StatusBar 属性时触发,标示状态栏是否可见。 ▲OnToolBar 改变 ToolBar 属性时触发,标示工具栏是否可见。 ▲OnVisible 改变 Visible 属性时触发 ▲StatusTextChange 控件的状态信息改变时触发。 ▲TitleChange 网页标题改变时触发。参数 Text 是新标题,Web1.LocationName 属性是旧标题■■SHDocVwCtl.WebBrowser_V1 对象================== 在窗体声明部分加入:Private WithEvents Web_V1 As SHDocVwCtl.WebBrowser_V1 在 Form_Load 加入:Set Web_V1 = Web1.Object 这样,Web_V1 就会有如下事件: ▲NewWindow 弹出新窗口以前触发 如果在 Web1_NewWindow2 设置了 ppDisp 为新显示对象,就不会出现此事件 ★例子1,用自己开发的程序的新窗口显示弹出网页: Dim nForm As New FormMain 'FormMain 为你的放有 Web1 控件的窗体 Processed = True '阻止控件调用 IE 弹出窗口 nForm.Show nForm.Web1.Navigate URL ★例子2,在同一窗口显示网页: Processed = True '阻止控件调用 IE 弹出窗口 Web1.Navigate URL ■■Web1.Document 对象(HTMLDocument 对象)======================= ▲All(1)集合,已加载到 Web1 中的 html 文档包含的所有标签对象:HTMLAreaElement 集合对象索引起点为0,总个数为 All.length 可以用索引访问其中对象,如:All(1) 也可以用 Html 头元素名称访问对象,如:All("body") All(0) 一般是自身的 outerHTML,可以这样返回文档代码(查看源文件): Text1.Text = Web1.Document.All(0).outerhtml 但上一条语句并不可靠,有的网页开头的代码不是<html>,而是其他,例如:<!--STATUS OK--> All()集合有 HTMLAreaElement 对象的大多数属性,有的元素还有特有的属性。 注意 某元素的 sourceIndex 属性就是该对象在 Document.All() 集合中的编号 ▲body 主体元素对象:IHTMLElement ▲activeElement 活动元素:IHTMLElement ▲anchors 锚集合:IHTMLElementCollection ▲appendChild 方法:附加子对象(newChild As IHTMLDOMNode) As IHTMLDOMNode ▲applets 程序集合Java:IHTMLElementCollection ▲attachEvent 方法:隶属事件(event As String, pdisp As object) As Boolean ▲attributes 属性对象:object ▲bgColor 背景色:Variant ▲childNodes 子节点:object ▲clear 方法:清除 ▲cloneNode 方法:复制节点(fDeep As Boolean) As IHTMLDOMNode ▲close 方法:关闭 ▲compatMode ▲cookie 缓存 ▲createAttribute 方法:创建属性(bstrattrName As String) As IHTMLDOMAttribute ▲createComment 方法:创建注释(bstrdata As String) As IHTMLDOMNode ▲createDocumentFragment 方法:创建文档片段() As IHTMLDocument2 ▲createDocumentFromUrl 方法:从URL创建文档(bstrUrl As String, bstrOptions As String) As IHTMLDocument2 ▲createElement 方法:创建元素(eTag As String) As IHTMLElement ▲CreateEventObject 方法:创建事件对象([pvarEventObject]) As IHTMLEventObj ▲createRenderStyle 方法:(v As String) As IHTMLRenderStyle ▲createStyleSheet 方法:创建方式表([bstrHref As String], [lIndex As Long = -1]) As IHTMLStyleSheet ▲createTextNode 方法:创建文本节点(text As String) As IHTMLDOMNode ▲defaultCharset 默认字符集? ▲detachEvent 方法:分离事件(event As String, pdisp As object) ▲dir ▲doctype 文档类型:IHTMLDOMNode ▲documentElement 文档元素:IHTMLElement ▲domain ▲elementFromPoint 方法:点所属组(x As Long, y As Long) As IHTMLElement ▲embeds :IHTMLElementCollection ▲execCommand 方法:实行命令(cmdID As String, [showUI As Boolean = False], [value]) As Boolean ▲execCommandShowHelp 方法:帮助命令(cmdID As String) As Boolean ▲fgColor 前景色:Variant ▲fileCreatedDate 文件创建日期 ▲file Modified Date 文件修改日期 ▲fileSize 文件大小 ▲fileUpdatedDate 文件更新日期 ▲FireEvent 方法:首事件(bstrEventName As String, [pvarEventObject]) As Boolean ▲firstChild 首子对象:IHTMLDOMNode ▲focus 方法: ▲forms 窗体:IHTMLElementCollection ▲frames 框架结构:FramesCollection ▲getElementById 方法:获取指定的 ID 元素(v As String) As IHTMLElement ▲getElementsByName 方法:获取指定的 Name 元素集合(v As String) As IHTMLElementCollection ▲getElementsByTagName 方法:获取指定的 TagName 元素集合(v As String) As IHTMLElementCollection ▲hasChildNodes 方法: ▲hasFocus 方法:() As Boolean ▲images 图像集合:IHTMLElementCollection ▲implementation 执行:IHTMLDOMImplementation ▲insertBefore 方法:插入前面(newChild As IHTMLDOMNode, [refChild]) As IHTMLDOMNode ▲lastChild ▲lastModified 上一修改 ▲linkColor 链接色 ▲alinkColor A 链接色: ▲vlinkColor V 链接色: ▲links 连接集合:IHTMLElementCollection ▲location 位置:HTMLLocation ▲media 媒体 ▲mimeType ▲nameProp ▲namespaces 名称空间:object ▲nextSibling 下一相同对象 ▲nodeName ▲nodeType ▲nodeValue ▲open 方法:打开([url As String = "text/html"], [name], [features], [replace]) As object ▲ownerDocument 所有者文档:object ▲parentNode 父节点:IHTMLDOMNode ▲parentWindow 父窗口:IHTMLWindow2 ▲plugins 插件集合?:IHTMLElementCollection ▲previousSibling 前一兄弟:IHTMLDOMNode ▲protocol 协议 ▲queryCommandEnabled 方法:查询命令能否执行(cmdID As String) As Boolean ▲queryCommandIndeterm 方法:查询命令? (cmdID As String) As Boolean ▲queryCommandState 方法:查询命令状态(cmdID As String) As Boolean ▲queryCommandSupported 方法:查询命令支持(cmdID As String) As String ▲queryCommandText 方法:查询命令文本(cmdID As String) As Boolean ▲queryCommandValue 方法:查询命令值 (cmdID As String) ▲readyState ▲recalc 方法:([fForce As Boolean = False]) ▲referrer ▲releaseCapture 方法: ▲removeChild 方法: ▲removeNode 方法: ▲replaceChild 方法: ▲replaceNode 方法:替换节点(replacement As IHTMLDOMNode) As IHTMLDOMNode ▲scripts script集合:IHTMLElementCollection ▲security 安全:String ▲selection 已选择的对象集合:IHTMLSelectionObject ▲styleSheets 方式表单:HTMLStyleSheetsCollection ▲swapNode 方法:交换节点(otherNode As IHTMLDOMNode) As IHTMLDOMNode ▲title ▲toString 方法: ▲url ▲URLUnencoded ▲write 方法:(ParamArray psarray() As Variant) ▲writeln 方法:(ParamArray psarray() As Variant) ▲onstop 既是属性,又是事件 ▲共有属性和事件■■共有属性和事件:既是属性,又是事件。面带 on 的======================= ▲onactivate onActivate 激活 ▲onafterupdate onAfterUpdate 更新后 ▲onbeforeactivate onBeforeActivate 激活前 ▲onbeforecopy onBeforeCopy 复制前 ▲onbeforecut onBeforeCut 剪切前 ▲onbeforedeactivate onBeforeDeactivate 无效前 ▲onbeforeeditfocus onBeforeEditFocus 获得编辑焦点前 ▲onbeforepaste onBeforePaste 粘贴前 ▲onbeforeupdate onBeforeUpdate 更新前 ▲onblur onBlur 模糊 ▲oncellchange onCellChange 单元改变 ▲onclick onClick 单击 ▲oncontextmenu onContextMenu 上下文菜单 ▲oncontrolselect onControlSelect 控件选定 ▲oncopy onCopy 复制 ▲oncut onCut 剪切 ▲ondataavailable onDataAvailable 有用数据 ▲ondatasetchanged onDataSetChanged 数据设置改变 ▲ondatasetcomplete onDataSetComplete 数据设置完成 ▲ondblclick onDblClick 双击 ▲ondeactivate onDeactivate 变为非活动 ▲ondrag onDrag 拖 ▲ondragend onDragEnd 拖结束 ▲ondragenter onDragEnter 拖进 ▲ondragleave onDragLeave 拖离 ▲ondragover onDragOver 拖过 ▲ondragstart onDragStart 拖开始 ▲ondrop onDrop ▲onerrorupdate onErrorUpdate 更新错误 ▲onfilterchange onFilterChange 过滤器改变 ▲onfocus onFocus ▲onfocusin onFocusIn 焦点进入 ▲onfocusout onFocusOut 焦点离开 ▲onhelp onHelp ▲onkeydown onKeyDown ▲onkeypress onKeyPress ▲onkeyup onKeyUp ▲onlayoutcomplete onLayoutComplete 版面完成 ▲onlosecapture onLoseCapture 失去捕获 ▲onmousedown onMouseDown ▲onmouseenter onMouseEnter ▲onmouseleave onMouseLeave ▲onmousemove onMouseMove ▲onmouseout onMouseOut ▲onmouseover onMouseOver ▲onmouseup onMouseUp ▲onmousewheel onMouseWheel 鼠标滚轮 ▲onmove onMove ▲onmoveend onMoveEnd ▲onmovestart onMoveStart ▲onpage onPage ▲onpaste onPaste 粘贴 ▲onpropertychange onPropertyChange 性质改变 ▲onreadystatechange onSeadyStateChange 准备状态改变 ▲onresize onResize ▲onresizeend onResizeEnd ▲onresizestart onResizeStart ▲onrowenter onRowEnter 行进入 ▲onrowexit onRowExit ▲onrowsdelete onRowsDelete ▲onrowsinserted onRowsInserted ▲onscroll onScroll ▲onselectstart onSelectStart ■■HTMLDivElement 对象:div 元素特有的属性======================= ▲align 排列:String ▲dataFld 数据流体:String ▲dataFormatAs 数据格式:String ▲dataSrc 数据Src:String ▲noWrap■■HTMLAreaElement 对象:区域元素 大多数元素共有的属性======================= 一个 HTMLAreaElement 可以包含多个 HTMLAreaElement 对象,用 all() 集合访问 ▲sourceIndex 对象在 Document.All() 集合中的编号 ▲accessKey String:访问键 ▲addBehavior 方法:添加行为(bstrUrl As String, [pvarFactory]) As Long ▲addFilter 方法:添加过滤器(pUnk As Unknown) ▲all 【参 HTMLAreaElement】 ▲alt ▲appendChild 【参 HTMLAreaElement】 ▲applyElement 方法:申请元素(apply As IHTMLElement, where As String) As IHTMLElement ▲attachEvent 方法:隶属事件(event As String, pdisp As object) As Boolean ▲attributes 【参 HTMLAreaElement】 ▲behaviorUrns 行为缸对象:object ▲blur 方法:模糊 ▲canHaveChildren 是否能拥有子对象 ▲canHaveHTML 是否能拥有HTML ▲childNodes 子节点:object ▲children 是否子对象 ▲className 类名 ▲clearAttributes 方法:清除属性 ▲click 方法:单击 ▲clientHeight 内部高度? ▲clientLeft ▲clientTop ▲clientWidth ▲cloneNode 方法:克隆节点(fDeep As Boolean) As IHTMLDOMNode ▲componentFromPoint 方法:点所属组(x As Long, y As Long) As String ▲contains 方法:包含contains(pChild As IHTMLElement) As Boolean ▲contentEditable ▲coords ▲createControlRange 方法:创建控制山脉(行列)() As object ▲currentStyle 当前样式:IHTMLCurrentStyle ▲detachEvent 方法:分离事件(event As String, pdisp As object) ▲dir ▲disabled 不可用 ▲document 文档对象:object ▲doScroll 方法([component]) ▲dragDrop 方法:拖放 ▲filters 过滤器: IHTMLFiltersCollection ▲FireEvent 方法FireEvent(bstrEventName As String, [pvarEventObject]) As Boolean ▲firstChild 首子对象:IHTMLDOMNode ▲focus 方法 ▲getAdjacentText 方法:获取临近文本(where As String) As String ▲getAttribute 方法:获取属性(strAttributeName As String, [lFlags As Long]) ▲getAttributeNode 方法:获取属性节点(bstrName As String) As IHTMLDOMAttribute ▲getBoundingClientRect 方法:获取内部范围矩形() As IHTMLRect ▲getClientRects 方法:获取委托矩形() As IHTMLRectCollection ▲getElementsByTagName 【参 HTMLAreaElement】 ▲getExpression 方法:获取表达(propname As String) ▲hasChildNodes 【参 HTMLAreaElement】 ▲hash 无用信息 ▲hideFocus ▲host 主人 ▲hostname 主人名称 ▲href 默认属性 ▲id 标示字符串 ▲innerHTML 元素内的 html 代码 ▲innerText 内部的纯文本,可以显示到网页上的文字 ▲insertAdjacentElement 方法:插入临近元素(where As String, insertedElement As IHTMLElement) As IHTMLElement ▲insertAdjacentHTML 方法:(where As String, html As String) ▲insertAdjacentText 方法:(where As String, text As String) ▲insertBefore 方法:(newChild As IHTMLDOMNode, [refChild]) As IHTMLDOMNode ▲isContentEditable ▲isDisabled ▲isMultiLine ▲isTextEdit ▲lang ▲language ▲lastChild ▲mergeAttributes 方法:合并属性(mergeThis As IHTMLElement, [pvarFlags]) ▲nextSibling 下一同级对象 ▲nodeName ▲nodeType ▲nodeValue ▲noHref ▲normalize 方法:规格化 ▲offsetHeight 偏移(缩进)高度 ▲offsetLeft ▲offsetParent ▲offsetTop ▲offsetWidth ▲outerHTML 包含元素本身及内部的 html 代码 ▲outerText ▲ownerDocument ▲parentElement ▲parentNode ▲parentTextEdit ▲pathname ▲port ▲previousSibling ▲protocol ▲readyState ▲recordNumber ▲releaseCapture 方法:释放捕获 ▲removeAttribute 方法:移除属性 ▲removeAttributeNode 方法 ▲removeBehavior 方法:移除行为 ▲removeChild 方法 ▲removeExpression 方法 ▲removeFilter 方法 ▲removeNode 方法 ▲replaceAdjacentText 方法:替换临近文本 ▲replaceChild 方法 ▲replaceNode 方法 ▲runtimeStyle 运行方式:IHTMLStyle ▲scopeName 范围名称 ▲scrollHeight ▲scrollIntoView 方法 ▲scrollLeft ▲scrollTop ▲scrollWidth ▲search ▲setActive 方法 ▲setAttribute 方法 ▲setAttributeNode 方法 ▲setCapture 方法 ▲setExpression 方法 ▲shape ▲style ▲swapNode 方法:交换节点 ▲tabIndex ▲tagName 标签名 ▲tagUrn 标签缸 ▲target 目标 ▲title ▲toString
■■Web1 应用例子 ▲在网页加裁完毕后,运行其中某层的链接,当然事先必须知道该层链接的TagName: WebBrowser1.OleObject.Document.getElementsByname("TagName").click。