步骤 说明 GoBack 无异于IE的“退后”旋钮,使你在目前历史列表中退后一项 GoForward 等同于IE的“前行”旋钮,使你在目前历史列表中前行一项 GoHome 等同于IE的“首页”旋钮,联接用户默许的首页 GoSearch 无异于IE的“搜寻”旋钮,联接用户默许的搜寻页面 Navigate 联接到指定的URL Refresh 刷新现阶段页面 Refresh二 同上,只是可以指定刷新级别,所指定的刷新级别的值来源于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 控件的自动化对象 Parent 回来WebBrowser控件的父自动化对象,通常是一个器皿,比如是宿主或IE窗口 Container 回来WebBrowser控件器皿的自动化对象。正常该值与Parent属性回到的值雷同 Document 为活动的文档回到自动化对象。如其HTML目前正被展示在WebBrowser中,则 Document属性提供对DHTML Object Model的访问路径 TopLevelContainer 回来一个Boolean值,表明IE是不是是WebBrowser控件高层器皿,是便回来true Type 回到已被WebBrowser控件加载的对象的部类。比如:如若加载.doc资料,就会返 来Microsoft Word Document Left 回到或设立WebBrowser控件窗口的内部左面与器皿窗口左面的距离 Top 回来或设立WebBrowser控件窗口的内部左首与器皿窗口顶边的距离 Width 回来或设立WebBrowser窗口的宽度,以像素为组织 Height 回到或设立WebBrowser窗口的高度,以像素为机构 LocationName 回到一个字符串,该字符串包含着WebBrowser现阶段展示的资源的姓名,如若资源 是网页乃是网页的题目;如果是资料或文件夹,乃是资料或文件夹的姓名 LocationURL 回到WebBrowser现阶段在展示的资源的URL Busy 回来一个Boolean值,说明WebBrowser目前是不是在加载URL,如若回来true 就可以施用stop步骤来撤消在实施的访问操作 http://hi.baidu.com/lovemoe/creat/blog/ Document 属性 回到包孕 HTML 文档姓名的字符串。 Silent 属性 禁止展示任何部类的对话框。 DocumentText属性 获取或设立现阶段网页的 HTML 内容 Url 属性 获取或设立现阶段网页的 URL。设立该属性时,会将该控件定位到新的 URL。 DocumentCompleted 事件 网页完成加载时产生。 BeforeNavigate 事 件 开 始 导 航 前 发 生。 1 般 在 此 获 取 完 整 的URL 字 符 串。 GoBack GoForward GoHome步骤 定位到历史记录中的上一页和下一页和首页。 Refresh步骤 刷新目前页 Navigate 步骤 定位到指定的 URL。Navigate 方 法 的 语 法 格 式 为: [Flags,][TargetFrameName,][PostData,][Headers] URL 参数 Uniform Resource Locator获 得 导 航 用 的 标 准URL 字 符 串。 例 如: 它 会 将”www.MicroSoft.Com” 从 动 翻 译 为”http://www.MicroSoft.Com”. webBrowser运用 http://hi.baidu.com/lovemoe/creat/blog/ 摘引Microsoft HTML Object Library和Microsoft Internet Controls控件 '获取Document对象 Set WBD = WebBrowser一.Document 获取网页源代码 WebBrowser一.Document.body.createtextrange().htmltext 最简略的登陆 Set WBD = WebBrowser一.Document WBD.body.All('name').Value =' ' WBD.body.All('PASS').Value = ' ' WBD.Forms(零).submit 调用带参数的javascript WBD.parentWindow.execScript 'document.login.submit()', 'javascript' 障蔽网页的alert对话框 Private Sub WebBrowser一_NavigateComplete二(ByVal pDisp As Object, URL As Variant) pDisp.Document.parentWindow.execScript 'window.alert=null;' End Sub 遍历 For mIndex = 零 To mDocument.Forms.length - 一 '输出每个FORM Print mDocument.Forms(mIndex).Name lstLinks.AddItem '输出联接' For mIndexEx = 零 To mDocument.links.length - 一 '输出联接 lstLinks.AddItem mDocument.links(mIndexEx) Next lstLinks.AddItem '图片地址' For mIndexEx = 零 To mDocument.images.length - 一 '输出图片 lstLinks.AddItem mDocument.images(mIndexEx).src '图片地址 Next Next 数据下载完毕后操作 Private Sub WebBrowser一_DocumentComplete(ByVal pDisp As Object, URL As Variant) If URL <> 'http://www.baidu.com/' Then Exit Sub Do If Not WebBrowser一.Busy Then Exit Do DoEvents Loop 取得浏览器信息:
Private Sub Command一_Click() WebBrowser一.Navigate 'http://www.' End Sub Private Sub Command二_Click() Dim oWindow Dim oNav Set oWindow = WebBrowser一.Document.parentWindow Set oNav = oWindow.navigator Debug.Print oNav.userAgent Set oWindow = Nothing Set oNav = Nothing End Sub (点击Command一浏览网页,点击Command二在立地窗口中输出浏览器信息。) 弹出Webbrowser讯息窗口 Dim oWindow Set oWindow = WebBrowser一.Document.parentWindow oWindow.confirm 'abcd' 页面滚动: Private Sub Command二_Click() WebBrowser一.Document.parentwindow.scrollby 零, 30 End Sub Private Sub Form_Load() WebBrowser一.Navigate 'http://www.' End Sub (点击Command二就可以使目前页面临下滚动30像素) 判断页面是不是可此前进退后
Private Sub Command一_Click() WebBrowser一.GoForward End Sub Private Sub Command二_Click() WebBrowser一.GoBack End Sub Private Sub Form_Load() WebBrowser一.Navigate 'http://www.' End Sub Private Sub WebBrowser一_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean) If (Command = CSC_NAVIGATEBACK) Then Command二.Enabled = Enable End If If (Command = CSC_NAVIGATEFORWARD) Then Command一.Enabled = Enable End If End Sub 向Webbrowser中写下HTML内容的几种步骤:
首先在Form_Load中加入 WebBrowser一.Navigate 'about:blank' 保准Webbrowser一可用 步骤一: Dim s As String Dim stream As IStream s = '' s = s + '' s = s + '' s = s + 'hello world ' s = s + '' s = s + ' WebBrowser一.Document.Write s 步骤二:
Dim o Set o = WebBrowser一.Document.selection.createrange Debug.Print o If (Not o Is Nothing) Then o.pasteHTML '哈哈哈' Set o = Nothing End If 步骤三:
'安插文本框 Dim o Set o = WebBrowser一.Document.selection.createrange o.execCommand 'InsertTextArea', False, 'xxx' 何以使网页不出现滚动条: Private Sub mnuScroll一_Click() @#注意:务须在网页完全展示以后才可以运作 WebBrowser一.Document.body.Scroll = 'no' @#不展示滚动条的办法 End Sub Private Sub mnuScroll二_Click() @#注意:务必在网页完全展示以后才可以运作 WebBrowser一.Document.body.Scroll = 'Auto' @#展示滚动条的办法 End Sub 何以取得网页中被选中一部分的HTML:
Private Sub Command一_Click() Dim objSelection Dim objTxtRange Set objSelection = WebBrowser一.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() WebBrowser一.Navigate 'http://www.' End Sub ================== 运用WebBrowser的Navigator也许Navigator二步骤打开一个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.Navigate二(strURL, 64, '_blank', strFormData, 'hello') End Sub asp源码: *********************************************************************
Option Explicit Private Sub Command一_Click() Dim szValue As String WebBrowser一.Document.body.innerHTML = ' method=post action=http://地址/xxx.php> ' WebBrowser一.Document.Forms('post').submit End Sub
Private Sub Form_Load() WebBrowser一.Navigate二 'about:blank' End Sub Top ********************************************************************
在WebBrwoser控件里提供的Navigate或许Navigate二步骤中提供了传送数据 的参数,调用形式为:WebBrowser一.Navigate二(URL,[Flags], [TargetFrameName],[PostData],[Headers]) 内中PostData参数乃是一个交付参数目字符串,比如'name=aaa&password=123', 但问题是为何这个步骤并不是有效的,服务器端不能获得数据? 如其这个步骤是有效的话就不需要用一段html代码模拟这种调用了。 下边代码能检测出程序post出去的讯息 Private Sub WebBrowser一_BeforeNavigate二(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 控件,展示 .GIF 卡通?
要有一定的网页常识(HTML、JavaScript、CSS) 注意细节: 没'滚动条'和'鼠标右键弹出的 IE 前后文菜单','.HTM 源文件' ... 我写了一个,成效还真不错! 'Objects: Form一、Command一、CommonDialog一、WebBrowser一 Option Explicit Private Sub Command一_Click() CommonDialog一.ShowOpen If VBA.Len(VBA.Trim(CommonDialog一.FileName)) > 零 Then Dim p As stdole.StdPicture Dim sPath As String sPath = VBA.Trim(VBA.Trim(CommonDialog一.FileName)) Set p = VB.LoadPicture(sPath) WebBrowser一.Width = p.Width * 16 / 26 WebBrowser一.Height = p.Height * 16 / 26 ' WebBrowser一.Navigate 'about:blank' WebBrowser一.Document.open WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln 'WebBrowser一.Document.writeln ' WebBrowser一.Document.writeln 'WebBrowser一.Document.writeln ' ' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' End If End Sub Private Sub Form_Load() Command一.Caption = '&Open' WebBrowser一.Navigate 'about:blank' WebBrowser一.Document.open WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln 'WebBrowser一.Document.writeln '' WebBrowser一.Document.writeln '' WebBrowser一.Document.Close End Sub WebBrowser控件说明 步骤 说明 GoBack 等同于IE的“退后”旋钮,使你在现阶段历史列表中退后一项 GoForward 等同于IE的“前行”旋钮,使你在现阶段历史列表中前行一项 GoHome 无异于IE的“首页”旋钮,联接用户默许的首页 GoSearch 无异于IE的“搜寻”旋钮,联接用户默许的搜寻页面 Navigate 联接到指定的URL Refresh 刷新目前页面 Refresh二 同上,只是可以指定刷新级别,所指定的刷新级别的值来源于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 控件的自动化对象 Parent 回来WebBrowser控件的父自动化对象,通常是一个器皿,比如是宿主或IE窗口 Container 回到WebBrowser控件器皿的自动化对象。正常该值与Parent属性回到的值雷同 Document 为活动的文档回到自动化对象。如其HTML现阶段正被展示在WebBrowser中,则 Document属性提供对DHTML Object Model的访问路径 TopLevelContainer 回来一个Boolean值,表明IE是不是是WebBrowser控件中上层器皿,是便回来true Type 回来已被WebBrowser控件加载的对象的门类。比如:如其加载.doc资料,就会返 来Microsoft Word Document Left 回来或设立WebBrowser控件窗口的内部左侧与器皿窗口左面的距离 Top 回到或设立WebBrowser控件窗口的内部左侧与器皿窗口顶边的距离 Width 回来或设立WebBrowser窗口的宽度,以像素为部门 Height 回来或设立WebBrowser窗口的高度,以像素为组织 LocationName 回来一个字符串,该字符串包含着WebBrowser目前展示的资源的姓名,如其资源 是网页便是网页的题目;如果是资料或文件夹,便是资料或文件夹的姓名 LocationURL 回来WebBrowser现阶段在展示的资源的URL Busy 回来一个Boolean值,说明WebBrowser现阶段是不是在加载URL,如若回来true 就可以应用stop步骤来取消在施行的访问操作 WebBrowser 的事件 Private Events Description BeforeNavigate二 领航发作前激起,刷新时不激起 CommandStateChange 应下令的激活状态改变时激起。它表明几时激活或封闭Back和Forward 菜单项或旋钮 DocumentComplete 应整个文档完成是激起,刷新页面不激起 DownloadBegin 应某项下载操作已经开始后激起,刷新也可激起此事件 DownloadComplete 应某项下载操作已经完成后激起,刷新也可激起此事件 NavigateComplete二 领航完成后激起,刷新时不激起 NewWindow二 在创造新窗口早先激起 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 如若要改变状态栏中的文字,这个事件就会被激起,但它并不顾会程序是不是有状态栏 TitleChange Title有效或改变时激起 WEBBROWSER 技艺(保藏)
看到很多对于WebBrowser控件禁止右键的提问,恢复的步骤很多,其中有谈到应用微软提供的 Webbrowser扩张COM服务器对象(WBCustomizer.dll),但是该步骤在我们念施用Webbrowser编者网页(Webbrowser一.Document.execCommand editMode)的时分有很多弊病,例如不能展示选中的文本等。另有点步骤也就不要一一列举了。 这会儿我想谈到的是至于MSHTML.HTMLDocument 引述Microsoft HTML OBject Library Rem #窗体代码# Dim WithEvents M_Dom As MSHTML.HTMLDocument Private Function M_Dom_oncontextmenu() As Boolean M_Dom_oncontextmenu = False End Function Private Sub Webbrowser一_DownloadComplete() Set M_Dom = Webbrowser一.Document End Sub Rem 好了,右键菜单没了 ======================================================================= 控件调用和取得收藏夹里头 大抵用 specialfolder(六 ) 就可以失去收藏夹的途径, 其后你可以用dir去循环读入每个索引,其后dir里头的file, file的名字便是你要的归藏的名字, 途径可以自各儿依据从上头失去的途径去失去. 如其你不要dir也可以用vb的dir控件. Private Type SHITEMID cb As Long abID As Byte End Type Public Type ITEMIDLIST mkid As SHITEMID End Type Public Function SpecialFolder(ByRef CSIDL As Long) As String locate the favorites folder Dim R As Long Dim sPath As String Dim IDL As ITEMIDLIST Const NOERROR = 零 Const MAX_LENGTH = 260 R = SHGetSpecialFolderLocation(MDIMain.hwnd, CSIDL, IDL) If R = NOERROR Then sPath = Space$(MAX_LENGTH) R = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath) If R Then SpecialFolder = Left$(sPath, InStr(sPath, vbNullChar) - 一) End If End If End Function ================================================================ 是的,webbrowser本生是一个控件, 你要它全屏,乃是要它所在的窗体全屏, 可以用setwindowlong撤除窗体的 title, 用Call ShowWindow(FindWindow(Shell_traywnd, ), 零) 掩藏tray,乃是底下那个包孕开始那一起. 用Call ShowWindow(FindWindow(Shell_traywnd, ), 九) 回复. 够详细了吧. 其后在form一.windowstate = 二 就可以了. ==================================================================== 取舍网页上的内容。 Private Sub Command一_Click() 请先选中一些内容 Me.WebBrowser一.ExecWB OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT MsgBox Clipboard.GetText End Sub ============================================================= 用IE来下载资料 Private Declare Function DoFileDownload Lib shdocvw.dll (ByVal lpszFile As String) As Long Private Sub Command一_Click()
Dim sDownload As String sDownload = StrConv(Text一.Text, vbUnicode) Call DoFileDownload(sDownload) End Sub 保留webbrowser中的HTML内容 Dim oPF As IPersistFile Set oPF = WebBrowser一.Document oPF.Save 'TheFileNameHere.htm', False WebBrowser一.ExecWB怎么用 下部是我测试的参数 WB.ExecWB(四,一) 四,一 封存网页 四,二 保留网页(可以重新命名) 六,一 直接打印 六,二 直接打印 七,一 打印预览 七,二 打印预览 八,一 抉择参数 八,二 取舍参数 十,一 查看页面属性 十,二 查看页面属性 17,一 全选 17,二 全选 22,一 从新载入现阶段页 22,二 从新载入现阶段页 webbrowser确定对话框的准确步骤 webbrowser确定窗口对话框 某些网页鉴于各种思忖会弹出对话框要求信息确认,往往会中止我们的webbrowser进程,可以施用如次步骤: 一.加入Microsoft Html Object 二.加入话语 Private Sub WebBrowser一_NavigateComplete二(ByVal pDisp As Object, URL As Variant) Dim obj As HTMLDocument Set obj = pDisp.Document obj.parentWindow.execScript 'function showModalDialog(){return;}' '对showModalDialog唤起的对话框进展确定 End Sub 而confirm挑动的会话确定框可用confirm轮换showModalDialog即可,Alert同等理~ WebBrowser获得网页源码Private Sub Command一_Click() WebBrowser一.Navigate 'http://www./sdcity.php' End Sub Private Sub WebBrowser一_DownloadComplete() '页面下载完毕 Dim doc, objhtml Set doc = WebBrowser一.Document Set objhtml = doc.body.createtextrange() If Not IsNull(objhtml) Then Text一.Text = objhtml.htmltext End If End Sub 我用WebBrowser获得网页源码,直接运作通常,但在编译后疏失 揭示:实时差错“91” Object 变量或 with 块变量没设立 可能是没下载完所致, Private Sub WebBrowser一_DownloadComplete() if webbrowser.busy=false then Dim doc, objhtml Set doc = WebBrowser一.Document Set objhtml = doc.body.createtextrange() If Not IsNull(objhtml) Then Text一.Text = objhtml.htmltext End If end if End Sub a.htm ---------------------- asdasdsad 建立一个EXE再窗体上置放一个WebBrowser控件,易名为web Private Sub Form_Load() web.Navigate 'c:/a.htm' DoEvents Do While web.Busy DoEvents Loop Set web.Document.ParentWindow.obj = Me End Sub
Public Sub w() MsgBox 'haha' End Sub post形式交付数据 Option Explicit Private Sub Command一_Click() Dim szValue As String WebBrowser一.Document.body.innerHTML = ' ' WebBrowser一.Document.Forms('post').submit End Sub
Private Sub Form_Load() WebBrowser一.Navigate二 'about:blank' End Sub 本文来源: 我的异常网 Java Exception Dotnet Exception Oracle Exception 3116 - checkout报error 3117 - HibernateException 3118 - eclipse3.2启动报错 3119 - Function is not supported 3120 - STRUTS1.1中html:errors中文不能正确显示 3121 - html:errors中文不能正确显示 3122 - ActionErrors如何在页面上显示 3123 - ActionErrors没有提示信息 3124 - struts关于html:text错误 3125 - Struts截获response.sendError 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liangdiwei/archive/2010/01/04/5132480.aspx
|