WebBrowser 控制元件-說明
控制元件檔案:system32shdocvw.oca shdocvw.dll
註冊:regsvr32 shdocvw.dll
WebBrowser
是 IE 核心做的 VB 控制元件,
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
但上一條語句並不可靠,有的網頁開頭的程式碼不是,而是其他,例如:<!--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。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16396910/viewspace-1032254/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遮蔽WebBrowser2控制元件聲音Web控制元件
- WebBrowser 控制元件設計模式設定Web控制元件設計模式
- Devexpress部分控制元件的原理及其說明devExpress控制元件
- delphi 常用控制元件屬性設定說明控制元件
- webbrowser控制元件使用時的注意事項Web控制元件
- win32 sdk下呼叫webbrowser控制元件Win32Web控制元件
- 控制 WebBrowser 控制元件的外觀和行為Web控制元件
- 網站狀態驗證WebBrowser控制元件實現網站Web控制元件
- 使用WebBrowser控制元件獲取網頁原始碼的方法Web控制元件網頁原始碼
- 關於MSCOMM控制元件的一些說明(轉貼)控制元件
- SYSAUX 說明UX
- 使用說明
- Hack 說明
- 專利說明書及其說明書附圖
- WP7 如何禁用WebBrowser 控制元件縮放和左右移動Web控制元件
- Windows Phone 7 如何禁用WebBrowser 控制元件縮放和左右移動WindowsWeb控制元件
- Windows Phone 7 開發 31 日談——第18日:WebBrowser控制元件WindowsWeb控制元件
- WebBrowser CookieWebCookie
- 用Excel做資料說明――抽樣說明工具Excel
- openssh版本更新與說明 openssl版本更新與說明
- WebApiClientCore使用說明WebAPIclient
- QLExpress使用說明Express
- postman 使用說明Postman
- SDWebImage中文說明Web
- objc物件說明OBJ物件
- MOBIM介面說明
- git 操作說明Git
- Oracle Latch 說明Oracle
- Oracle Namespace 說明Oraclenamespace
- 埠號說明
- Kafka配置說明Kafka
- zookeeper埠說明
- Oracle 版本說明Oracle
- 常用埠說明
- DBV工具說明
- Sqlite使用說明SQLite
- FTP配置說明FTP
- dd命令說明