设为首页收藏本站

就爱编程论坛

 找回密码
 注册

人人连接登陆

无需注册,直接登录

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 1190|回复: 5
打印 上一主题 下一主题

WebBrowser的8个方法、13个属性和事件 [复制链接]

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2025-5-27 03:37:20
  • 签到天数: 366 天

    [LV.9]以坛为家II

    论坛先锋 学习至圣 荣誉成员 论坛元老 活跃之星 终极领袖

    我玩的应用:

    跳转到指定楼层
    楼主
    发表于 2011-8-17 16:00:01 |只看该作者 |倒序浏览
    方法 说明 ===========================================
     GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项
     GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项
     GoHome 相当于IE的“主页”按钮,连接用户默认的主页
     GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面
     Navigate 连接到指定的URL
     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的“停止”按钮,停止当前页面及其内容的载入
    属性 说明 ===========================================================
     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方法来撤销正在执行的访问操作
    事件===========================================
    BeforeNavigate2 导航发生前激发,刷新时不激发
    CommandStateChange 当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward
    菜单项或按钮
    DocumentComplete 当整个文档完成是激发,刷新页面不激发
    DownloadBegin 当某项下载操作已经开始后激发,刷新也可激发此事件
    DownloadComplete 当某项下载操作已经完成后激发,刷新也可激发此事件
    NavigateComplete2 导航完成后激发,刷新时不激发
    NewWindow2 在创建新窗口以前激发
    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.OleObject.Document
    WebBrowser.OleObject.Document.All
    WebBrowser.OleObject.Document.bgColor
    WebBrowser.OleObject.Document.Body.Style.overflowX
    WebBrowser.OleObject.Document.Body.Style.overflowY
    WebBrowser.OleObject.Document.Body.Style.zoom
    WebBrowser.OleObject.Document.cookie
    WebBrowser.OleObject.Document.documentElement.innerHTML
    WebBrowser.OleObject.Document.documentElement.innerText
    WebBrowser.OleObject.Document.FileSize
    WebBrowser.OleObject.Document.Frames
    WebBrowser.OleObject.Document.Images
    WebBrowser.OleObject.Document.LastModified
    WebBrowser.OleObject.Document.Links
    WebBrowser.OleObject.Document.Location.Protocol
    WebBrowser.OleObject.Document.ParentWindow
    WebBrowser.OleObject.Document.ParentWindow.ScrollBy (九:整数; iY :整数)
    WebBrowser.OleObject.Document.selection
    WebBrowser.OleObject.Document.Title
    WebBrowser.OleObject.Document.URL
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document
    提供有关文件显示。详情见http://msdn.microsoft.com/workshop/a...j_document.asp
    文件相当于:
    WebBrowser.Document作为IHTMLDocument2
    注:
    如果没有文件已加载然后( WebBrowser.Document作为IHTMLDocument2 )将为零。为了避免运行时例外检查的价值,才能使用它,例如:
    变种
    文件: IHTMLDocument2 ;
    开始
    文件: = WebBrowser.Document作为IHTMLDocument2 ;
    如果转让(文件) ,然后


    简洁,并不是所有的例子包括:本网页上的这一错误检查。
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.All
    阵列的所有项目/物体在文件中。这包括图片,链接,文字等
    。长度返回一些内容数组。
    。项目( 0 )传回的第一份文件内容。
    。项目( n )段。 InnerText读/写之间的文字开始和结束标记的项目。
    。项目( n )段。 ScrollIntoView ( bAlignToTop :布尔)卷轴项目'东经'到的观点。 bAlignToTop =真正保持一致的窗口顶部的。 bAlignToTop =假以配合窗口底部的。
    文件相当于:
    变种
    文件: IHTMLDocument2 ;
    docAll : IHTMLElementCollection ;
    开始
    文件: = WebBrowser.Document作为IHTMLDocument2 ;
    如果转让(文件)
    docAll : = document.all ;
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.bgColor
    设置或检索背景颜色的文件。例如,设置背景颜色为白色:
    WebBrowse.OleObject.Document.bgColor : = ' # FFFFFF ' ;
    或将其设置为黑色:
    WebBrowse.OleObject.Document.bgColor : = ' # 000000 ' ;
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Body.Style.overflowX
    读/写字符串值,指明是否水平滚动条显示。价值观是:
    可见默认。没有滚动条。显示被截断,以明显的地区。
    滚动滚动条始终可见-无论需要与否。
    隐藏没有滚动条。内容以外的可见光区是隐藏的。
    汽车的内容被截断和滚动条显示如果需要的话。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Body.Style.overflowY
    至于WebBrowser.OleObject.Document.Body.Style.overflowX但垂直滚动条。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Body.Style.zoom
    设置或检索放大使用。默认值是1 ,没有放大。要显示在正常大小的一半使用0.5 。为了显示其在正常大小的两倍使用2 。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.cookie
    返回一个字符串的所有浏览器的Cookies举行-这是本地存储的Cookie ,而不是服务器端的cookie 。
    文件相当于:
    变种
    文件: IHTMLDocument2 ;
    饼干:字符串;
    开始
    文件: = WebBrowser.Document作为IHTMLDocument2 ;
    如果转让(文件) ,然后
    饼干: = document.cookie ;
    Cookies是代表字符串的形式:
    名称=值
    注:
    如果有多个名称/值配对然后这些都是分开分号(';').
    某些字符可能是'逃跑' -这是由一个百分比符号之后,两个位数的十六进制数的ASCII码代表的性质。名单的ASCII码请点击这里。
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.documentElement.innerHTML
    对于HTML文件,返回文件包括HTML格式。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.documentElement.innerText
    返回文本文件的内容-在没有任何( HTML )的格式。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.FileSize
    回报率的大小, HTML文件中的字节。
    文件相当于:
    ( WebBrowser.Document作为IHTMLDocument2 ) 。档案大小
    请注意,该文件相当于返回文件大小作为一个字符串,它会抛出一个异常如果没有页面加载。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Frames
    阵列框架的文件中。
    。长度返回若干帧的文件中。
    。项目( 0 )传回的第一帧。
    。项目( 0 ) 。文件返回文档对象代表帧。
    。项目( 0 ) 。 Document.URL返回的URL的第一帧。
    文件相当于:
    ( WebBrowser.Document作为IHTMLDocument2 ) 。框架
    例如,要获取有关帧作为( 1 IHTMLWindow2或IHTMLDocument2 ) :
    变种
    文件: IHTMLDocument2 ;
    ole_index : OleVariant ;
    doc_all : IHTMLElementCollection ;
    frame_dispatch : IDispatch ;
    frame_win : IHTMLWindow2 ;
    frame_doc : IHTMLDocument2 ;
    开始
    文件: = WebBrowser.Document作为IHTMLDocument2 ;
    ole_index : = 0 ;
    frame_dispatch : = document.Frames.Item ( ole_index ) ;
    如果frame_dispatch “ ”零然后
    开始
    frame_win : = frame_dispatch作为IHTMLWindow2 ;
    frame_doc : = frame_win.document ;


    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Images
    阵列的图像载于本文件。
    。长度传回的图像文件中。
    。项目( 0 )传回的图片。
    。项目( 0 ) 。 Src的读取或写入的路径,第一形象。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.LastModified
    退货时,文件的最后修改,作为一个字符串。正式的格式是“月/日/年时时:分分:党卫军” ,但在我的经验,通常是“月/日/年时时:分分:党卫军” 。
    文件相当于:
    变种
    htmlDoc : IHTMLDocument2 ;
    dateString :字符串;
    开始
    htmlDoc : = WebBrowser.Document作为IHTMLDocument2 ;
    如果转让( htmlDoc )
    dateString : = html_doc.LastModified ;
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Links
    阵列的各个环节(即“的<a href...> ”分子) 。
    。长度返回的连结数目。
    。项目( 0 )传回的第一个链接。
    。项目( 0 ) 。 href返回地址的第一个链接。
    。项目( 0 ) 。标记名的名称,返回类型的第一个环节。的链接,这是永远的A 。
    文件相当于:
    变种
    htmlDoc : IHTMLDocument2 ;
    allLinks : IHTMLElementCollection ;
    firstLink : IHTMLElement ;
    网址:字符串;
    开始
    htmlDoc : = WebBrowser.Document作为IHTMLDocument2 ;
    allLinks : = htmlDoc.Links ;
    firstLink : = allLinks.Item ( 0 , '' )作为IHTMLElement ;
    网址: = firstLink.toString ;
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Location.Protocol
    返回一个字符串代表'协议'部分网址。这将(通常)是:
    议定书价值意蕴
    文件:本地或网络文件。
    ftp:FTP 。
    的Gopher : Gopher网络会议。
    http:Hypertext传输协议
    网址为: https :安全超文本传输协议。
    的JavaScript : JavaScript代码。
    地址:客户发送电子邮件。
    新闻:新闻组。
    水库:资源文件。
    的Telnet :远程登录终端登录。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.ParentWindow
    返回(只读)提到集装箱窗口。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.ParentWindow.ScrollBy (九:整数; iY :整数)
    横向卷轴的窗口'的iX '像素-负值春联左边,一个积极的价值春联权利。垂直滚动窗口的' iY '像素-负值春联和一个积极的价值卷轴下来。
    文件相当于:
    变种
    文件: IHTMLDocument2 ;
    开始
    文件: = webBrowser.Document作为IHTMLDocument2 ;
    如果转让(文件) ,然后
    document.parentWindow.scrollBy (九, iY ) ;
    注:
    该窗口不会滚动向上/向下,如果它已经达到了正常的顶部/底部限制。同样不会滚动左/右如果它已经达到了正常的左/右限制。因此,例如,当一个文件是第一次尝试加载滚动它-1 , -1不会有任何影响。
    这将影响到框架文件,因为通常的顶层文件将不会滚动,即使将它包含帧。下面的过程说明了如何滚动每一份文件和框架,包括嵌入式框架:
    程序ScrollBrowserWindowBy (常量窗口: IHTMLWindow2 ;九:整数; iY :整数) ;
    变种
    指数:整数;
    oleIndex : OleVariant ;
    frameDispatch : IDispatch ;
    childWindow : IHTMLWindow2 ;
    文件: IHTMLDocument2 ;
    开始
    如果转让(窗口) ,然后
    尝试
    window.scrollBy (九, iY ) ;
    / /如果有任何帧然后尝试滚动它们。
    文件: = window.Document作为IHTMLDocument2 ;
    如果转让(文件) ,然后
    指数: = 1 document.Frames.Length做
    开始
    oleIndex : =指数- 1 ;
    frameDispatch : = document.Frames.Item ( oleIndex ) ;
    如果转让( frameDispatch ) ,然后
    开始
    childWindow : = frameDispatch作为IHTMLWindow2 ;
    ScrollBrowserWindowBy ( childWindow ,九, iY ) ;
    结束;
    结束;

    电子商务:异常年底开始做;
    结束;
    结束;
    并调用它:
    变种
    文件: IHTMLDocument2 ;
    开始
    文件: = webBrowser.Document作为IHTMLDocument2 ;
    如果转让(文件) ,然后
    ScrollBrowserWindowBy ( document.parentWindow , 5,10 ) ;
    如果您尝试呼叫' scrollBy '的窗框载场外页面就会抛出一个“拒绝访问”的例外,因此“尝试..除了”在上面的例子。
    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.selection
    提供对当前选定的部分文件。
    例如,如果要获得当前选定的文字:
    变种
    文件: IHTMLDocument2 ;
    selectionObj : IHTMLSelectionObject ;
    selectionRange : IHtmlTxtRange ;
    selectedText :字符串;
    开始
    文件: = WebBrowser.Document作为IHTMLDocument2 ;
    selectionObj : = document.selection ;
    selectionRange : = selectionObj.CreateRange作为IHtmlTxtRange ;
    selectedText : = selectionRange.text ;


    注:上面的例子将需要修改的文件略微带有框架。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.Title
    的标题当前文档。这是一样的财产LocationName 。

    -------------------------------------------------- ------------------------------
    WebBrowser.OleObject.Document.URL
    网址目前的文件。这是一样的财产LocationURL 。

    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    分享分享0 收藏收藏0 支持支持0 反对反对0 分享到人人 转发到微博
    [img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=fRUcHhYWGAQ9GxIFEBwUEVMeEhA]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

    使用道具 举报

    Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2025-5-27 03:37:20
  • 签到天数: 366 天

    [LV.9]以坛为家II

    论坛先锋 学习至圣 荣誉成员 论坛元老 活跃之星 终极领袖

    沙发
    发表于 2011-8-17 16:03:43 |只看该作者
    WebBrowser属性
    1、AddressBar(是否显示地址栏。)
    property AddressBar: WordBool;
    2、Busy(是否正在导航到一个新的URL地址或正在下载文档。)
    property Busy: WordBool;
    如果该属性值为True,则在开始一个新的操作前,可用Stop方法中止当前操作,然后再导航到其他的页面,代码如下:
    If WebBrowser1.Busy Then Begin
    WebBrowser1.Stop;
    WebBrowser1.Navigate('http://www.quping.com');
    End;
    3、Container(访问Web浏览器父类或容器的接口。)
    property Container: IDispatch;
    如果Web浏览器没有一个具有Automation接口的容器,则该属性的值为空。否则可以通过返回的接口,访问Web浏览器父类或容器,代码如下:
    If (WebBrowser1.Container<>Nil) Then WebBrowser1.Stop
    Else ShowMessage('Web浏览器没有一个具有Automation接口的容器');
    4、ControlInterface(访问WebBrowser组件接口,这个接口允许一个Automation控制器访问Web浏览器的属性、方法和事件。)
    property ControlInterface: IWebBrowser2;
    显示WebBrowser1组件的名称,代码如下:
    Showmessage(WebBrowser1.ControlInterface.Name);
    5、FullName(指定主机上Web浏览器组件的可执行文件的完整的合法路径名。)
    property FullName: WideString;
    显示Web浏览器组件所在的可执行文件的名称,并且包含路径,代码如下:
    ShowMessage('Web组件所在的可执行文件为:'+WebBrowser1.FullName);
    6、LocationName(获得当前在Web浏览器组件中显示的资源名。)
    property LocationName: WideString;
    显示网页标题的名称,代码如下:
    ShowMessage('网页标题名:'+WebBrowser1.LocationName);
    7、LocationURL(确定当前显示文档、文件夹的URL或路径。)
    property LocationURL: WideString;
    显示地址的完整路径,代码如下:
    ShowMessage('Web浏览器组件连接的URL为:'+WebBrowser1.LocationURL);
    8、Name(指定计算机上的TWebBrowser的名称。)
    property Name: WideString;
    9、Offline(指定Web浏览器是否从本地缓存中获取文档。该属性为True时,表示Web浏览器以脱机方式工作,否则为在线方式。)
    property Offline: WordBool;
    注意:可以使用IE浏览器保存HTML网页到本地缓存,浏览器可以脱机方式工作。
    10、Path(指定主机上Web浏览器组件可执行文件的路径名,不包括文件名。)
    property Path: WideString;
    Str:= WebBrowser1.Path;
    11、ReadyState(获得指定Web浏览器组件的状态信息,使用这个信息可避免Web浏览器执行未准备的操作。)
    property ReadyState: TOleEnum;
    12、RegisterAsBrowser(设置该属性为True时,当前使用的Web浏览器组件成为最高级别浏览器。)
    property RegisterAsBrowser: WordBool;
    13、RegisterAsDropTarget(指出是否允许用户拖放HTML文档到当前Web浏览器。)
    property RegisterAsDropTarget: WordBool;
    该属性为True时,允许用户拖放HTML文档到当前Web浏览器;否则拖放操作无效,代码如下:
    If Not WebBrowser1.RegisterAsDropTarget Then WebBrowser1.RegisterAsDropTarget:=True;
    14、Silent(指定TWebBrowser是否显示对话框。该属性为True时,该对话框不再显示脚本错误。)
    property Silent: WordBool;
    15、Type_(指定包含的文档对象的类型名称,读取该属性以确定Automation对象的类型,该对象的接口通过Document属性表示。)
    property Type_: WideString;
    显示文件的类型,代码如下:
    ShowMessage('Automation对象的类型为:'+WebBrowser1.Type_);
    WebBrowser方法
    1、ClientToWindow(IE使用该方法转换客户坐标与窗口坐标,一般不要使用该方法。)
    procedure ClientToWindow(var pcx: SYSINT; var pcy: SYSINT);
    pcx:坐标点X。
    pcy:坐标点Y。
    2、ExecWB(允许用户用IOleCommandTarget接口传递一个命令到当前Web浏览器组件。Microsoft定义了一些常量来表示这些命令,但是Web浏览器不全部支持这些命令,可用QueryStatusWB方法使用这些命令。)
    procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT); overload;
    procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn: OleVariant); overload;
    procedure ExecWB(cmdID: OLECMDID; cmdexecopt: OLECMDEXECOPT; var pvaIn: OleVariant; var pvaOut: OleVariant); overload;
    调用ExecWB方法能够完成许多功能,例如停止网页浏览,代码如下:
    WebBrowser1.ExecWB(OLECMDID_STOP,OLECMDEXECOPT_PROMPTUSER);
    3、GoBack(返回到历史列表中的上一个文档。如果历史列表中没有包含另外的文档,该方法将无效。)
    procedure GoBack;
    返回当前页的上一页,代码如下:
    WebBrowser1.GoBack();
    4、GoForward(返回到历史列表中的下一个文档,与最后调用GoBack方法的效果相反。)
    procedure GoForward;
    返回当前页的下一页,但是如果历史列表中没有下一个文档,则产生异常,代码如下:
    Try
       WebBrowser1.GoForward();
    Except
       Exit;
    End;
    5、GoHome(返回已注册主页或开始页,在注册表中指定主页的注册项为:HKEY_CURRENT_USER\Software\Microsoft\IE\Main下的SStartpage名称栏。可用TRegistry、TRegistryIniFile对象或IE浏览器“工具”中的Internet选项改变注册主页。)
    procedure GoHome;
    返回主页,代码如下:
    If WebBrowser1.Busy Then WebBrowser1.Stop Else WebBrowser1.GoHome;
    6、GoSearch(打开已注册的搜索网页,在注册表中指定搜索网页的注册项为:HKEY_CURRENT_USER\Software\Microsoft\IE\Main下的SearchPage名称栏。可用TRegistry、TRegistryIniFile对象或IE浏览器中“工具”中的Internet选项改变注册搜索网页。)
    procedure GoSearch;
    打开已注册的搜索网页,代码如下:
    If WebBrowser1.Busy Then WebBrowser1.Stop Else WebBrowser1.GoSearch();
    7、Navigate(定位或下载指定的资源,发送HTTP消息到指定的URL并显示指定文件的内容,也可用来显示指定的文件。)
    procedure Navigate(const URL: WideString); overload;
    procedure Navigate(const URL: WideString; var Flags: OleVariant); overload;
    procedure Navigate(const URL: WideString; var Flags: OleVariant;var TargetFrameName: OleVariant); overload;
    procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant); overload;
    procedure Navigate(const URL: WideString; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload;
    Navigate方法是TWebBrowser组件中最重要的方法之一,使用该方法能够将当前TWebBrowser组件导航到任何存在的链接上,代码如下:
    If WebBrowser1.Busy Then WebBrowser1.Stop Else WebBrowser1.Navigate('http://www.quping.com');
    8、Navigate2(定位或下载指定的资源,发送HTTP消息到指定的URL并显示指定文件的内容,或导航到不能表达为URL的资源。)
    procedure Navigate2(var URL: OleVariant); overload;
    procedure Navigate2(var URL: OleVariant; var Flags: OleVariant); overload;
    procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant); Overload;
    procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant); overload;
    procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload;
    Navigate2方法与Navegate方法类似,能够将当前TWebBrowser组件导航到指定的资源,代码如下:
    procedure TForm1.GoUrl2(URL: String); //URL为指定的资源的网址
    var
       oUrl:Olevariant;
       oPost,oFram,oflag:Olevariant;
    begin
       oUrl:=Url;
       oFram:=0;
       oFlag:=navOpenInNewWindow; //在新窗口中打开资源
       oPost:='';
       If WebBrowser1.Busy Then WebBrowser1.Stop;
       WebBrowser1.Navigate2(oUrl,oFlag,oFram,oPost);
    end;
    9、QueryStatusWB(确定可以使用ExecWB方法执行的命令,即Web浏览器支持的命令信息,该方法使用IOleCommandTarget接口的QueryStatus方法来得到命令状态的信息。)
    function QueryStatusWB(cmdID: OLECMDID): OLECMDF;
    cmdID:指定要获取其信息的命令。
    10、Refresh(重新载入当前文档。Web浏览器正在显示的URL指定的资源可能已经发生变化时,这个方法非常有用。该方法总是发送一个参数,即非缓存标题,通知服务器不要返回缓存的复制,这对于某些服务器可能是一个问题。为阻止发送这个非缓存标题参数或只是刷新过期的网页,可用Refresh2方法。)
    procedure Refresh;
    该方法完成了IE浏览器的刷新功能,可以使用该方法来重新载入当前页面,如果当前TWebBrowser组件没有载入任何的网页,则会产生异常,代码如下:
    If (WebBrowser1.LocationURL<>'') Then WebBrowser1.Refresh;
    11、Refresh2(调用Refresh2方法重新装入当前文档,与Refresh方法不同的是,该方法可指定要完成的刷新级别。)
    procedure Refresh2; overload;
    procedure Refresh2(var Level: OleVariant); overload;
    Level:指定要被刷新信息的类型,其取值如表7所示。
    Refresh2方法提供了更加复杂的刷新方式,提供了多种刷新方法,通过该方法同样能够实现Refresh方法完成的任务,代码如下:
    procedure TForm1.ToolButton7Click(Sender: TObject);
    var
       Level:Olevariant;
    begin
       Level:=REFRESH_IFEXPIRED;
       If (WebBrowser1.LocationURL<>'') Then WebBrowser1.Refresh2(Level);
    end;
    12、Stop(终止任何未完成的导航或下载操作,并终止任何动态的网页元素,如背景音乐和动画等。)
    procedure Stop;
    该方法实现了IE中的停止功能,即停止了一切载入工作,代码如下:
    WebBrowser1.Stop;
    WebBrowser事件
    1、OnBeforeNavigate2(Web浏览器导航到一个新的资源前被触发。)
    property OnBeforeNavigate2: TWebBrowserBeforeNavigate2;
    type TWebBrowserBeforeNavigate2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant; var Cancel: WordBool) of object;
    2、OnCommandStateChange(当执行TWebBrowser组件的某个方法的功能改变时被触发,其状态取值决定于执行Web浏览器中某个方法的功能。)
    property OnCommandStateChange: TWebBrowserCommandStateChange;
    type TWebBrowserCommandStateChange = procedure(Sender: TObject; Command: Integer; Enable: WordBool) of object;
    Sender:指出其功能已变化的Web浏览器组件。
    Enable:指定CSC_NAVIGATEFORWARD或CSC_NAVIGATEBACK命令是否可用,其值为True时,可用;否则不可用。
    OnCommandStateChange事件提供了一个命令状态改变后的处理功能,通过该事件能够判断执行某个命令后的当前浏览器状态,例如控制“后退”、“前进”或“停止”按钮是否可用,代码如下:
    procedure TForm1.WebBrowser1CommandStateChange(Sender: TObject;
       Command: Integer; Enable: WordBool);
    begin
       case Command of
         CSC_NAVIGATEBACK: ToolButton5.Enabled := Enable; //“后退”按钮
         CSC_NAVIGATEFORWARD: ToolButton4.Enabled := Enable; //“前进”按钮
         CSC_UPDATECOMMANDS: ToolButton2.Enabled := TWebBrowser(Sender).Busy; //“停止”按钮
       end;
    end;
    3、OnDownloadBegin(Web浏览器开始下载一个文档时被触发,编写其事件处理程序可以指定Web浏览器定位到一个文档后下载该文档前应采取的操作。)
    property OnDownloadBegin: TNotifyEvent;
    type TNotifyEvent = procedure (Sender: TObject) of object;
    4、OnDownloadComplete(导航操作完成、暂停或操作失败时被触发,编写其事件处理程序可以指定应采取的操作。)
    property OnDownloadComplete: TNotifyEvent;
    type TNotifyEvent = procedure (Sender: TObject) of object;
    5、OnNavigateComplete2(当Web浏览器成功地导航到一个新的位置时被触发,编写其事件处理程序可以指定应执行的操作。这个事件可能产生在当前文档下载完成前,但是事件结束时,至少已经接收到部分文档并产生了文档视图。)
    property OnNavigateComplete2: TWebBrowserNavigateComplete2;
    type TWebBrowserNavigateComplete2 = procedure(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant) of object;
    Sender:导航到新的资源的Web浏览器。
    pDisp:浏览器的Automation接口。
    当TWebBrowser组件成功地导航到一个新的位置后触发该事件,利用该事件能够获得当前状态或URL地址,代码如下:
    If WebBrowser1.Offline Then
       Statusbar1.Panels[Statusbar1.Panels.Count-1].Text:='脱机'
    Else
       Statusbar1.Panels[Statusbar1.Panels.Count-1].Text:='在线';
    ComboBox1.Text:=WebBrowser1.LocationURL;
    6、OnProgressChange(当更新下载操作的进度时被触发,编写其事件处理程序可以提供一个关于下载进度的可视化的反馈。)
    property OnProgressChange: TWebBrowserProgressChange;
    type TWebBrowserProgressChange = procedure(Sender: TObject; Progress: Integer; ProgressMax: Integer) of object;
    Sender:正在下载文档处理进程中的Web浏览器。
    Progress:指出有多少文档已经下载,取值范围在0~ProgressMax之间。当其参数为-1时,操作结束。
    PropressMax:指示下载操作的最大值。
    利用该事件能够设计一个准确的网页载入进度条,该进度条表示了当前网页的载入进度,代码如下:
    procedure TForm1.WebBrowser1ProgressChange(Sender: TObject; Progress,ProgressMax: Integer);
    begin
       ProgressBar1.Max:=ProgressMax;
       if Progress = -1 then
         ProgressBar1.Visible:=false
       else
       begin
         ProgressBar1.Position := Progress;
         ProgressBar1.Visible := True;
       end;
       if   ProgressBar1.Position = ProgressMax then
         ProgressBar1.Visible:=False;
    end;

    [img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=fRUcHhYWGAQ9GxIFEBwUEVMeEhA]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

    使用道具 举报

    Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2025-5-27 03:37:20
  • 签到天数: 366 天

    [LV.9]以坛为家II

    论坛先锋 学习至圣 荣誉成员 论坛元老 活跃之星 终极领袖

    板凳
    发表于 2011-8-17 16:05:06 |只看该作者
    [img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=fRUcHhYWGAQ9GxIFEBwUEVMeEhA]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

    使用道具 举报

    Rank: 3Rank: 3

    升级 
     
    4.33%

    该用户从未签到

    地板
    发表于 2011-10-7 21:23:11 |只看该作者

    使用道具 举报

    Rank: 3Rank: 3

    升级 
     
    30.33%

    该用户从未签到

    5#
    发表于 2011-10-9 19:49:58 |只看该作者
    新开万劫三破雷霆2合一,韩版传奇私服热血传奇sf发布网人体艺术电影新开变态传奇sf;欧羙范儿奉献情感传奇私服发布我们渐渐互相淡漠‘男人体艺术影刺连击『元素』l冷色调的霸道新开传奇世界私。广东阳山699451,血煞金虎,夺魂万劫擦掌磨拳不一样的非直流;独白小男生的又有谁珍惜,但不是我的菜传奇私服不厌求详,愛是斷線的風箏、牽著最在乎的人a涐喜歡、沵愛涐旳樣孖。内蒙古阿鲁科尔沁957494,黑暗地狱传世SF发布网不共戴天翠绕珠围;奋勇争先无话不说,陌下物是人非",陌上花开花落"吞声忍气,劳苦功高n功成身退。以德报怨旗鼓相当,沵╮勼湜涐唯㈠啲唯㈠p何埘涐才褦甾佽啈冨の笶。












    http://www.43919.com,http://www.98428.com传奇私服,
    www.39ms.com减肥网,www.71TL.COM天龙八部私服
    www.ms19.com魔兽世界私服,www.B5S5.COM左旋肉碱
    www.LE76.COM广州开发票,www.WUQIJI.COM奇迹私服
    www.04my.com魔域私服,www.zx40.com诛仙私服
    www.939a.com小游戏

    使用道具 举报

    Rank: 3Rank: 3

    升级 
     
    46.33%

    该用户从未签到

    6#
    发表于 2011-10-14 13:41:49 |只看该作者

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    晴云孤魂's Blog|就爱编程搜帖|手机版|Archiver|就爱编程论坛     

    GMT+8, 2025-7-2 03:13 , Processed in 0.107687 second(s), 36 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部