Webbrowser控件史上最强技巧全集解析
- 格式:doc
- 大小:76.00 KB
- 文档页数:13
DelphiWebbrowser使用方法详解(一)
1.webbroser介绍
该组件是一个浏览器组件,可以显示一个指定地址的网页、设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML 文件进行剪切、复制、粘贴、删除等操作。
该组件在Internet组件页中,属于TWebbrowser类。
它放在程序当中,可以像操作网页一样操作webbrowser控件。
2.webbrowser有哪些应用
webbrowser目前大多数都是完成自动提交或定时处理某种操作,例如:
1.网页数据采集,从别人的论坛里面把帖子采集出来,放到我们的论坛里面,例如火车头采集器;
2.发帖,不断的到百度贴吧或者其他论坛去发帖也称灌水;
3.网购,例如淘宝上限时秒抢之类的;
4.投票,不断的变换IP去投票;
5.抢火车票,不断的刷新火车票,一有票就提示抢购;
6.开发浏览器,像原来的的360,腾讯,搜狗浏览器都是基于IE 内核开发出来的;
3.同类控件
1.Indy中的idhttp 特点不可见,使用麻烦,有阻塞,但效率高;
2.ICS跟idhttp差不多
3.TEmbeddedwb第三方控件,跟webbrowser差不多,功能更强大,缺点是没有相关使用说明或资料;
本人目前使用的就是TEmbeddedWB,主要是该控件屏蔽弹窗很牛逼,而且能截获弹出窗口的信息,不管是不是带不带框架的,后续的介绍也都是基于TEmbeddedWB展开,它和webbroser的使用方法都差不多,有区别的会特意注明。
搞了N久的Webbroser,今天终于有心情把它总结出来贡献给大
家,希望能帮助到那些使用webbrowser的人们,转载请注明出处,谢谢!未完待续。
WebBrowser 全解析一些使用技巧1.禁止右键看到很多关于WebBrowser控件禁止右键的提问,回复的方法很多,其中有提到使用微软提供的Webbrowser扩展COM服务器对象(WBCustomizer.dll),但是该方法在我们想使用Webbrowser编辑网页(Webbrowser1.Document.execCommand "editMode")的时候有很多弊端,比如不能显示选中的文本等。
另有些方法也就不用一一列举了。
这儿我想提到的是关于MSHTML.HTMLDocument引用Microsoft HTML OBject LibraryRem #窗体代码#Dim WithEvents M_Dom As MSHTML.HTMLDocumentPrivate Function M_Dom_oncontextmenu() As BooleanM_Dom_oncontextmenu = FalseEnd FunctionPrivate Sub Webbrowser1_DownloadComplete()Set M_Dom = Webbrowser1.DocumentEnd SubRem 好了,右键菜单没有了=========================================================================2、控件调用和获得收藏夹里面基本上用 specialfolder(6 ) 就可以得到收藏夹的路径, 然后你可以用dir去循环读入每个目录,然后dir里面的file, file的名字就是你要的收藏的名字, 路径可以自己根据从上面得到的路径去得到.如果你不用dir也可以用vb的dir控件.Private Type SHITEMIDcb As LongabID As ByteEnd TypePublic Type ITEMIDLISTmkid As SHITEMIDEnd TypePublic Function SpecialFolder(ByRef CSIDL As Long) As String'locate the favorites folderDim R As LongDim sPath As StringDim IDL As ITEMIDLISTConst NOERROR = 0Const MAX_LENGTH = 260R = SHGetSpecialFolderLocation(MDIMain.hwnd, CSIDL, IDL)If R = NOERROR ThensPath = Space$(MAX_LENGTH)R = SHGetPathFromIDList(ByVal IDL.mkid.cb, ByVal sPath)If R ThenSpecialFolder = Left$(sPath, InStr(sPath, vbNullChar) - 1)End IfEnd IfEnd Function=============================================================3、全屏是的,webbrowser本生是一个控件, 你要它全屏,就是要它所在的窗体全屏, 可以用setwindowlong取消窗体的 title, 用Call ShowWindow(FindWindow("Shell_traywnd", ""), 0) 隐藏tray,就是下边那个包含开始那一行. 用CallShowWindow(FindWindow("Shell_traywnd", ""), 9) 恢复. 够详细了吧.然后在form1.windowstate = 2 就可以了.=============================================================================== =4、选择网页上的内容。
WebBrowser组件和MSHTML 在Delphi 中的使用由于项目需要,近来研究了一下WebBrowser组件和MSHTML 在Delphi中的使用,整理了一下这段时间研究的结果,写下来一是方便大家查阅,二也可以加深我自己的记忆.希望能对大家有所帮助… …,同时,如果有更好的处理方式或者我没有提到的问题,请大家也告诉我哦, 咱们一块进步… ...,其中一部分是我从网络中搜集的资料,谢谢那些兄弟们… … MSHTML把HTML页面中的元素封装成了IHTMLInputElement、 IHTMLInputButtonElement、IHTMLInputTextElement、IHTMLTextAreaElement、IHTMLTitleElement、IHTMLFormElement 等等组件接口。
在程序中可以通过MSHTML提供的IHTMLDocument2接口得到整个Document对象,IHTMLElementCollection接口得到所有页面元素的集合,通过该接口的Item方法可以得到具体的某个组件,然后设置和读取该组件的属性值。
下面是一些常用功能的事例代码.1.打开某个页面:web.Navigate(ExtractFilePath(Application.ExeName) + 'Template/login.html'); 2.取出页面中某个HtmlElement的Value属性值:function GetValueByElementName(web: TWebBrowser; elementName: string; index: integer): string;beginresult := (((web.Document as IHTMLDocument2).body.all as IHTMLElementCollection).item(elementName, index) as IHTMLInputElement).valueend;3.给HtmlElement设置Value属性procedure SetValueTextAreaName(web: TWebBrowser; elementName, value: string;index: integer);begin(((web.Document as IHTMLDocument2).body.all asIHTMLElementCollection).item(elementName, index) as IHTMLTextAreaElement).value := value;end;4.判断页面执行结果是否成功因为Web应用中如果出错的一般是采用错误页面的方式呈现给最终用户,所以我们也无法抓到Http错误,只能通过在webBeforeNavigate2事件中将URL参数记录到全局变量中, 然后在webDocumentComplete事件中根据URL参数和全局变量中的URL参数来判断执行结果是否正确.当然,这样需要将页面地址编码到代码中,降低了灵活性,但是这也是我能想到的唯一的方法,如果大家有什么好的方法,请告诉我哦.5.屏蔽鼠标右键和某些快捷键本功能需要在webBrowser的窗口中加入ApplicationEvents组件,设置它的OnMessage事件代码如下即可.procedure TwebAdapterForm.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);const_KeyPressMask = $80000000;begin//禁用右键with Msg dobeginif not IsChild(web.Handle, hWnd) then Exit;Handled := (message = WM_RBUTTONDOWN) or (message = WM_RBUTTONUP) or (message = WM_CONTEXTMENU);end;//禁止Ctrl + N//禁止Ctrl + F//禁止Ctrl + Aif Msg.message = WM_KEYDOWN thenbeginif ((Msg.lParam and _KeyPressMask) = 0) and(GetKeyState(VK_Control) <0) and ((Msg.wParam = Ord('N'))or (Msg.wParam = Ord('F')) or (Msg.wParam = Ord('A'))) thenbeginHandled := True;end;end;end;6.在页面关闭的时候,同时关掉包含页面的VCL Form.(仅限 InternetExplorer 6.0)本功能需要卸载掉Delphi自带的 WebBrowser组件,安装ActionX组件(Microsoft Internet Controls V1.1),而且以后的程序只能运行在安装有Internet Explorer 6.0 的环境下.具体方法如下:在WebBrowser组件的OnWindowClosing事件中,输入self.close; 代码即可.如果需要阻止窗口的关闭, 设置CanClose参数的值为Flase.7.如何将页面中超链接新开的页面窗口包到指定的VCL窗口中.procedure TForm1.webNewWindow2(Sender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);varform : TForm1;beginform := TForm1.Create(nil);ppDisp := form.web.DefaultDispatch;form.Show;end;8.在WebBrowser加载html页面完成后,在页面顶端插入HTML代码, 下面两种方式斗可以.{1. ----------------------------------------------------------------} procedure TForm1.Button1Click(Sender: TObject);varRange: IHTMLTxtRange;beginRange := ((WebBrowser1.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange;Range.collapse(False);Range.pasteHTML('<br/><b>Hello!</b>');end;{2. ----------------------------------------------------------------} procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;const pDisp: IDispatch; var URL: OleVariant);varWebDoc: HTMLDocument;WebBody: HTMLBody;beginWebDoc := WebBrowser1.Document as HTMLDocument;WebBody := WebDoc.body as HTMLBody;WebBody.insertAdjacentHTML('BeforeEnd', '<h1>Hello World!</h1>');end;9.将页面中显示的内容全部选中,然后粘贴到Word文档中.WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT);//全选网页WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT); //复制网页WordDocu.Range.Paste; //word文档粘贴WebBrowser1.ExecWB(OLECMDID_UNDO, OLECMDEXECOPT_DODEFAULT); //取消全选注:WebBrowser的Document属性值和WordDocument的Document属性值必须都不为nil. 10.如何解决网页不响应回车事件public{ Public declarations }procedure MsgHandle(var Msg :TMsg; var Handled :Boolean);end;varForm1: TForm1;FOleInPlaceActiveObject :IOleInPlaceActiveObject;implementation{$R *.DFM}procedure TForm1.MsgHandle(var Msg :TMsg; var Handled :Boolean);variOIPAO :IOleInPlaceActiveObject;Dispatch :IDispatch;beginif WebBrowser1 =nil thenbeginHandled :=False;Exit;end;Handled :=(IsDialogMessage(WebBrowser1.Handle, Msg) =True);if (Handled) and (not WebBrowser1.Busy) thenbeginif FOleInPlaceActiveObject =nil thenbeginDispatch :=WebBrowser1.Application;if Dispatch <>nil thenbeginDispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);if iOIPAO <>nil thenFOleInPlaceActiveObject :=iOIPAO;end;end;end;if FOleInPlaceActiveObject <>nil thenif ((Msg.message =WM_KEYDOWN) or (Msg.Message =WM_KEYUP)) and ((Msg.wParam =VK_BACK) or (Msg.wParam =VK_LEFT) or (Msg.wParam =VK_RIGHT)) thenelseFOleInPlaceActiveObject.TranslateAccelerator(Msg);end;procedure TForm1.FormCreate(Sender: TObject);beginApplication.OnMessage :=MsgHandle;end;procedure TForm1.FormDestroy(Sender: TObject);beginFOleInPlaceActiveObject :=nil;end;11.如何在WebBrowser中调用当前页面中的javascript函数SayHello()WebBrowser1.OleObject.Document.parentWindow.execScript('SayHello()', 'javascript');//or(WebBrowser1.Document as IHTMLDocument2).parentWindow.execScript('SayHello()', 'javascript')//orwebrowser1.document.script.SayHello();delphi中Webbrowser的使用技巧1.获取网页中变量的值例如:htm中<script> var currIDS=123</script>程序中可以这样调用 id :=Form1.WebBrowser1.OleObject.Document.script.currIDS备注:变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowser1中找不到该变量,调用会触发一个异常事件,即变量currIDS不存在。
microsoftwebbrowseractivex使用方法**一、概述**ActiveX是一种由Microsoft开发的控件,可用于在Web浏览器中嵌入和执行各种应用程序。
它允许开发人员创建在Internet上运行的自定义应用程序,并提供了一个方便的集成方式。
ActiveX也广泛用于Microsoft的InternetExplorer浏览器中。
**二、安装和启用**要使用ActiveX,首先需要确认您的操作系统是否支持。
通常,大多数现代操作系统都内置了ActiveX的支持。
对于Windows操作系统,您可以按照以下步骤进行安装和启用:1.打开控制面板,并找到“程序和功能”选项。
2.在程序列表中找到并选中“InternetExplorer”,然后点击“打开或关闭Windows功能”。
3.在打开的窗口中,找到ActiveX控件和插件复选框,勾选它们以启用ActiveX。
4.确认更改并重启浏览器。
**三、使用方法**一旦ActiveX被启用,您就可以在Web浏览器中使用它了。
下面是一些基本的使用方法:1.打开InternetExplorer并访问一个包含ActiveX控件的网站。
2.通常,您不需要做任何特殊操作,因为ActiveX控件会自动在您的浏览器中加载并开始工作。
3.如果您需要更改ActiveX控件的设置或属性,通常可以在浏览器的工具栏中找到相关的选项或菜单项。
4.如果您遇到任何问题或错误,请尝试查看浏览器的错误报告或调试工具,以获取更多信息。
**四、注意事项**1.请注意,不是所有的网站都支持ActiveX控件。
一些网站可能会阻止或限制ActiveX的使用,以保护用户的安全和隐私。
2.某些ActiveX控件可能包含不安全的漏洞,因此请务必保持您的浏览器和操作系统更新到最新版本,以获得最佳的安全性。
3.避免在不信任或不安全的网站上加载和使用未知来源的ActiveX控件。
总的来说,MicrosoftWeb浏览器中的ActiveX使用相对简单和直观。
网络浏览器插件高级技巧分享第一章:扩展你的浏览器功能现代浏览器具备许多令人满意的功能,但是要进一步提升用户体验,使用插件就显得尤为重要。
在此章节,将会介绍一些扩展浏览器功能的高级技巧。
1.1 广告屏蔽插件广告是许多用户在浏览网页时的主要干扰因素之一。
通过使用广告屏蔽插件,用户可以过滤掉网页中的广告内容,提升浏览体验。
一些流行的广告屏蔽插件包括Adblock Plus、uBlock Origin等。
1.2 秘密标签页随着我们在网上的活动越来越多,个人隐私保护变得尤为重要。
一些浏览器插件提供秘密标签页功能,能够在浏览结束后自动删除网页浏览历史、Cookies等敏感信息。
常用的秘密标签页插件包括Ghostery、Incognito This Tab等。
1.3 页面截图和注释有时候我们需要保存网页的截图,或者在网页上做一些注释。
这时候,页面截图和注释插件就变得十分有用。
这些插件可以帮助用户快速截取网页内容,并且提供标注和注释功能,如Awesome Screenshot等。
第二章:提高工作效率的浏览器插件在工作中,浏览器插件可以帮助我们提高工作效率,节约时间和精力。
在此章节,将会介绍一些提高工作效率的高级技巧插件。
2.1 时间管理工具对于一些需要精确计时的任务,时间管理工具插件能够帮助我们提高效率。
一些常见的时间管理工具插件包括Toggl、Pomodoro Technique等。
2.2 笔记和待办事项在处理工作任务时,保存笔记和管理待办事项是必不可少的。
一些浏览器插件提供了简单易用的笔记和待办事项管理功能,如Evernote Web Clipper、Todoist等。
2.3 自动填表插件填写表格是日常工作中的一项繁琐任务。
通过使用自动填表插件,我们可以事先保存常用的表格数据,然后自动填充表格内容,如LastPass、RoboForm等。
第三章:网络安全与隐私保护的浏览器插件随着互联网的发展,网络安全和隐私保护变得越来越重要。
一、webbrowser 的定义与作用webbrowser,即网页浏览器,是一种用于访问互联全球信息站网页的软件工具。
通过webbrowser,用户可以输入网页位置区域并访问网页内容,浏览器还可以展示各种网页元素,如文字、图片、视瓶和动画等。
由于其重要作用,webbrowser在现代社会中被广泛使用,成为人们日常生活中不可或缺的工具之一。
二、webbrowser 的基本使用方法在使用webbrowser时,我们通常需要了解一些基本的使用方法,以便更加高效地浏览网页内容。
1. 打开 webbrowser要打开webbrowser,只需在计算机桌面或程序菜单中找到已安装的浏览器图标,并双击打开即可。
常见的webbrowser包括Google Chrome、Mozilla Firefox、Microsoft Edge和Safari等。
用户可以根据自己的喜好和需求选择合适的浏览器。
2. 输入全球信息站在webbrowser的位置区域栏中输入网页的URL位置区域,即可打开相应的网页。
用户也可以利用webbrowser提供的搜索引擎功能,在搜索框中输入关键词进行网页搜索。
3. 浏览网页内容一旦打开了网页,用户可以通过滚动页面、点击信息或者进行搜索等操作来浏览网页内容。
webbrowser还提供了书签功能,用户可以将常用的网页添加到书签栏中,以便快速访问。
4. 下载和管理文件webbrowser允许用户在网页上下载各种文件,如文档、图片、音频和视瓶等。
用户可以在下载管理器中查看和管理已下载的文件。
5. 多标签浏览现代webbrowser支持多标签浏览功能,用户可以在同一个浏览器窗口中打开多个标签页,方便在不同页面之间进行切换和比较。
6. 清除浏览数据webbrowser还提供清除浏览数据的功能,用户可以清除浏览历史、缓存文件和 Cookie 等数据,以保护个人隐私并提升浏览速度。
三、webbrowser 的高级功能与技巧除了基本的浏览网页功能外,webbrowser还具有一些高级功能和技巧,可以帮助用户更好地利用浏览器。
题目:webbrowser 调用js方法一、介绍webbrowser和js方法1.1 什么是webbrowser1.2 js方法的作用和使用场景二、调用js方法的基本步骤2.1 在webbrowser中调用js方法的原理2.2 调用js方法的基本步骤三、webbrowser中调用js方法的实例分析3.1 利用webbrowser调用js方法实现页面异步加载数据 3.2 利用webbrowser调用js方法实现页面元素交互四、常见问题与解决方法4.1 调用js方法时出现的常见问题4.2 解决方法及注意事项五、结语文章:一、介绍webbrowser和js方法1.1 什么是webbrowserwebbrowser是指浏览器,是我们平常在电脑或手机上用来访问互联网的工具。
它可以加载网页并且展示网页的内容,是我们使用互联网进行信息浏览和交流的重要工具。
1.2 js方法的作用和使用场景js是JavaScript的简称,是一种常用的网页脚本语言。
在网页开发中,我们经常会用到js方法来处理网页的交互逻辑、页面元素操作、数据的异步加载等。
二、调用js方法的基本步骤2.1 在webbrowser中调用js方法的原理webbrowser和js方法之间的调用是通过webbrowser提供的特定接口来实现的。
网页中的js方法可以通过webbrowser提供的接口来被调用执行,这样就能实现在webbrowser中执行js方法的效果。
2.2 调用js方法的基本步骤在webbrowser中调用js方法的基本步骤如下:(1) 获取webbrowser中加载的页面对象(2) 调用页面对象提供的接口,向页面中注入js方法,或者执行页面中已有的js方法三、webbrowser中调用js方法的实例分析3.1 利用webbrowser调用js方法实现页面异步加载数据在网页开发中,我们常常需要通过js方法来实现页面异步加载数据的功能。
我们可以通过webbrowser提供的接口,向页面中注入js方法,实现在webbrowser中执行js方法,从而实现页面的异步数据加载。
WebBrowser是干什么用的?通常,WebBrowser控件可以让你的用户浏览一个特定的网页。
但它不是一个完整的浏览器,因为它没有地址栏,收藏夹,选项卡等等。
你可以把它当做HTML中的“iframe”,但它提供了更丰富的界面。
你可以通过两个手指收缩(和双击)来进行缩放,平移和滚动是自动内置的,你无须自己实现。
这个控件另一个很棒的特性是它可以加载本地和网络中的内容。
这意味着如果我有很多HTML文件(也许是文档),那么我不需要为我的应用程序去重新创建这些内容。
相反,我可以将这些HTML页面嵌入到我的应用程序中,并在本地(电话中)加载他们而不是依靠一个可能会出现问题的数据连接。
在WebBrowser控件中加载本地HTML内容既然我提到了,我就应该向你展示如何来实现,对吧?首先,你需要向项目中添加一些本地HTML文件。
我添加了2个作为示意,如果你需要的话可以添加成百上千个。
之后,我添加了两个按钮用来加载每个文件。
有很多方法可以实现,但我确信如果你看完本文后就会对载入本地HTML文件十分自信了,并且我把寻找如何更好地利用我的示例的任务留给你。
在我的代码中,有两个你会用到的引用(“using 语句”)它们是:using System.IO;using Microsoft.Xna.Framework;你可能会想,“XNA?真的吗?”我会在第30日的时候讲,我会向你展示XNA名称空间的强大功能。
现在,请相信我!在按钮的事件处理程序中,我写了两行代码。
第一行将HTML内容载入到一个StreamReader中,第二行通过使用WebBrowser的NavigateToString()方法将这些内容加载到WebBrowser中。
如下所示:StreamReader reader = new StreamReader(TitleContainer.OpenStream("htm l/wp7wiki.html"));Browser.NavigateToString(reader.ReadToEnd());如果你想深入研究System.Xna.Framework或者TitleContainer,请点击相应的链接。
Webbrowser控件史上最强技巧全集VB调用webbrowser技巧集1、获得浏览器信息:Private Sub Command1_Click()WebBrowser1.Navigate ""End SubPrivate Sub Command2_Click()Dim oWindowDim oNavSet oWindow = WebBrowser1.Document.parentWindowSet oNav = oWindow.navigatorDebug.Print erAgentSet oWindow = NothingSet oNav = NothingEnd Sub点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。
2、弹出Webbrowser消息窗口Dim oWindowSet oWindow = WebBrowser1.Document.parentWindow oWindow.confirm "abcd"VB调用webbrowser技巧集2向Webbrowser中写入HTML内容的几种方法首先在Form_Load中加入WebBrowser1.Navigate "about:blank"确保Webbrowser1可用方法1:Dim s As StringDim stream As IStreams = ""s = s + ""s = s + ""s = s + "hello world"s = s + ""s = s + "WebBrowser1.Document.Write s方法2:Dim oSet o = WebBrowser1.Document.selection.createrange Debug.Print oIf (Not o Is Nothing) Theno.pasteHTML "哈哈"Set o = NothingEnd If方法3:'插入文本框Dim oSet o = WebBrowser1.Document.selection.createrangeo.execCommand "InsertTextArea", False, "xxx"vb调用Webbrowser技巧集31、页面滚动:Private Sub Command2_Click()WebBrowser1.Document.parentwindow.scrollby 0, 30 End SubPrivate Sub Form_Load()WebBrowser1.Navigate "" End Sub点击Command2就可以使当前页面向下滚动30像素2、判断页面是否可以前进后退Private Sub Command1_Click()WebBrowser1.GoForwardEnd SubPrivate Sub Command2_Click()WebBrowser1.GoBackEnd SubPrivate Sub Form_Load()WebBrowser1.Navigate ""End SubPrivate Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)If (Command = CSC_NAVIGATEBACK) ThenCommand2.Enabled = EnableEnd IfIf (Command = CSC_NAVIGATEFORWARD) ThenCommand1.Enabled = EnableEnd IfEnd SubVB调用webbrowser技巧集41、如何使网页不出现滚动条:Private Sub mnuScroll1_Click()@#注意:必须在网页完全显示之后才可以运行WebBrowser1.Document.body.Scroll = "no" @#不显示滚动条的办法End SubPrivate Sub mnuScroll2_Click()@#注意:必须在网页完全显示之后才可以运行WebBrowser1.Document.body.Scroll = "Auto" @#显示滚动条的办法End Sub2、如何获得网页中被选中部分的HTML:Private Sub Command1_Click()Dim objSelectionDim objTxtRangeSet objSelection = WebBrowser1.Document.selectionIf Not (objSelection Is Nothing) ThenSet objTxtRange = objSelection.createRangeIf Not (objTxtRange Is Nothing) ThenDebug.Print objTxtRange.htmlTextSet objTxtRange = NothingEnd IfSet objSelection = NothingEnd IfEnd SubPrivate Sub Form_Load()WebBrowser1.Navigate ""End SubNavigate 方法的语法格式为:WebBrowser 控件名.Navigate URL[Flags,][TargetFrameName,][PostData,][Headers]---- WebBrowser 控件支持的主要方法有:GoBack ———回退到上一屏。
GoForward ———进入到下一屏。
GoHome ———回家。
即回到主页。
Stop ———停止导航。
Refresh ———刷新。
Navigate ———导航。
---- WebBrowser 控件所响应的事件:---- BeforeNavigate 事件———在开始导航前发生。
一般在此获取完整的URL 字符串。
---- WebBrowser 控件最主要的参数:---- URL ———获得导航用的标准URL 字符串。
例如:它能将””自动翻译为””.URL 是Uniform Resource Locator 的缩写,是在Internet 的WWW 服务程序上用于指定信息位置的表示方法。
使用WebBrowser的Navigator或者Navigator2方法打开一个asp文档并且传递参数进去,但是asp文档无法获得参数,请教是什么原因?vb源码:Private Sub cmdSubmit_Click()Dim strURL As String, strFormData As StringDim strData As StringstrURL = Trim$(txtURL.Text)strFormData = "name=" & Trim$(txtName.Text) &"&password=" & Trim$(txtPassword.Text)Call WBTest.Navigate2(strURL, 64, "_blank", strFormData,"hello")End Subasp源码:< %@ Language=VBScript %>< %dim strNamedim strPasswordstrName=Trim(Request.Form("name"))strPassword=Trim(Request.Form("password"))Response.Write(strName)Response.Write(strPassword)if strName="KingZhang" and strPassword="123456" thenResponse.Write("登陆成功")elseResponse.Write("非法登陆用户!")end if%>******************************************************************** *Option ExplicitPrivate Sub Command1_Click()Dim szValue As StringWebBrowser1.Document.body.innerHTML = "method=post action=http://地址/xxx.php>"WebBrowser1.Document.Forms("post").submitEnd SubPrivate Sub Form_Load()WebBrowser1.Navigate2 "about:blank"End SubTop********************************************************************请问:在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 PostDataEnd SubWebBrowser的8个方法和13个属性WebBrowser的8个方法和13个属性,以及它们的功能:方法说明GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项GoHome 相当于IE的“主页”按钮,连接用户默认的主页GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面Navigate 连接到指定的URLRefresh 刷新当前页面Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,该表定义在ExDisp.h中,可以指定的不同值如下:REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新REFRESH_CONTINUE 仅作内部使用。