WebBrowser.Document 为活动的文档返回自动化对象,引用 Microsoft HTML Object Library 可查看详细属性和方法

下面的解说假设窗体中有一个名称为 Web1 的 WebBrowser 控件
■■方法
==============================
▲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.Document.getElementsByname("TagName").click。

WebBrowser 控件-说明的更多相关文章

  1. C#中的WebBrowser控件的使用

    0.常用方法   Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(st ...

  2. delphi WebBrowser控件上网页验证码图片识别教程(一)

    步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm ...

  3. <总结>delphi WebBrowser控件的使用中出现的bug

    Delphi WebBrowser控件的使用中出现的bug:  1.WebBrowser.Visible=false:Visible属性不能使WebBrowser控件不可见,暂时用 WebBrowse ...

  4. C# WebBrowser控件使用教程与技巧收集

    常用的方法 Navigate(string urlString):浏览urlString表示的网址 Navigate(System.Uri url):浏览url表示的网址 Navigate(strin ...

  5. C# 指定Webbrowser控件所用IE内核版本

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe,以64位机 ...

  6. 在WPF的WebBrowser控件中屏蔽脚本错误的提示

    在WPF中使用WebBrowser控件显示网页时,经常会报脚本错误的提示,如何屏蔽掉这些错误提示呢.方法是定义如下方法: public void SuppressScriptErrors(WebBro ...

  7. 修改WebBrowser控件的内核解决方案

    方法一 加入你想让WebBrowser控件的渲染模式编程IE8的标准模式, 你可以通过设置注册表FEATURE_BROWSER_EMULATION 来实现. 示例: 注册表中注明当前本机装的IE版本H ...

  8. C# webBrowser控件使用

    C# webBrowser控件使用心得 最近用到WebBrowser控件,遇到很多问题,也学习了不少新的东西.下面是我在C#下写的关于WebBrowser控件使用的代码. 1.WebBrowser常用 ...

  9. WebBrowser控件打开https站点

    背景: 与上一篇博文一样,此文亦是由于开发DropboxAPI中遇到问题衍生出来的.由于需要重定向https类型网站,但自己的https证书是自签名的,总是提示'网站的安全证书存在问题'. 鉴此,查了 ...

  10. C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)控制 WebBrowser 控件的外观和行为

    在 CSDN 上经常看到以下两个问题:1.在 MFC 应用程序中,如果创建了一个 WebBrowser 控件(包括 CHtmlView 在内),如何可以把该控件的三维边框禁止掉?2.在 MFC 应用程 ...

随机推荐

  1. JVM虚拟机(一):java虚拟机的基本结构

    1: 类加载子系统(负责从文件系统或者网络中加载class信息,加载的类信息存放于一块成为方法区的内存空间.除了类信息外,方法区中可能还存放运行时常量池信息,包括字符串字面量和数字常量(这部分常量信息 ...

  2. html页面中js判断浏览器是否是IE浏览器及IE浏览器版本

    HTML里: HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了.在HTML代码中, ...

  3. HDOJ 4884 & BestCoder#2 1002

    TIANKENG’s rice shop Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  4. (转)Python开发规范

    转自:https://www.jianshu.com/p/d414e90dc953 Python风格规范 本项目包含了部分Google风格规范和PEP8规范,仅用作内部培训学习 Python风格规范 ...

  5. 0057 Spring MVC如何获取HTTP请求头信息--URL中的动态参数--@RequestHeader--@CookieValue--@PathVariable

    获取HTTP请求头信息 一个HTTP请求除了有参数和实体内容外还有HTTP请求头信息,Spring MVC也可以获取这部分信息 @RequestHeader解可以将请求头信息映射到处理方法的形参上 @ ...

  6. TCP/IP详解读书笔记:概述

    分层 分层是一种很通用的架构模式.通过分层,可以把一个系统分解成多个层,每个层专注于各自的功能,并提供接口给上面的层调用.上面的层不需要了解调用层的详细实现,只依赖于其接口,这就给维护带来了很大的好处 ...

  7. 1年3年5年-我对PHP攻城师有看法

    今天早上公车上看微信拉勾的一些岗位推送,挑了几个PHP攻城师看看 15K-20K的 百万级网站架构经验 3年以上开发,至少1年互联网用户产品开团队开发经验 不低于百度T4水平 数据库规划和优化,熟悉常 ...

  8. YAML 语法小结

    专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便. 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格. 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 # 表示注 ...

  9. JobTracker作业调度分析

    转自:http://blog.csdn.net/Androidlushangderen/article/details/41408517 JobTracker的作业调度给我感觉就是比较宏观意义上的操作 ...

  10. js 滚动页面

    $(‘html, body’).animate({ scrollTop: 0}, ‘slow’);