Webbrowser判断页面加载完成

Webbrowser 请求加载页面,页面中包含各种资源,不能够很准确的判断加载是否完成,需要通过特定的方法判断。

1、使用计数器判断页面是否加载完成。精准可控。

 // 计数器
int  counter  =   0 ;

// 添加事件响应函数
this .webBrowser.Navigated  +=   new  System.Windows.Forms.WebBrowserNavigatedEventHandler(webBrowser_Navigated);

this .webBrowser.DocumentCompleted  +=   new  System.Windows.Forms.WebBrowserDocumentCompletedEventHandler( this .webBrowser_DocumentCompleted);

// 事件响应函数
private   void  webBrowser_Navigated( object  sender, WebBrowserNavigatedEventArgs e)
 {
    counter ++ ;
}

private   void  webBrowser_DocumentCompleted( object  sender, WebBrowserDocumentCompletedEventArgs e)
 {
    counter -- ;

     if  ( 0   ==  counter)
     {
      // 加载完毕
    }
} 

在执行一个加载完成操作时,在执行完毕后最好立马注销事件。

2、通过控件状态及控件文档URL地址判断,此方法经实际测试,可满足大多数情况。简单。

this .webBrowser.DocumentCompleted  +=   new  System.Windows.Forms.WebBrowserDocumentCompletedEventHandler( this .webBrowser_DocumentCompleted);

private   void  webBrowser_DocumentCompleted( object  sender, WebBrowserDocumentCompletedEventArgs e)
 {
     if (Browser.ReadyState == WebBrowserReadyState.Complete&&e.Url==webBrowser.Document.Url)
     {
         //加载完成
     }
} 

Webbrowser判断页面加载完成

时间: 2024-12-25 06:57:42

Webbrowser判断页面加载完成的相关文章

JS判断页面加载完毕

//JS判断页面加载完毕,再隐藏加载效果层,一个简单的JS加载效果. document.onreadystatechange = function () { if (document.readyState == "complete") { var page = DF.URLHash.get("page"); if (typeof (page) != "undefined" && page != "page1.html&q

【MFC】转:在CHtmlView中判断页面加载完成

原帖:http://blog.csdn.net/wangjia184/article/details/3684862 论坛上有人问如何在CHtmlView中判断页面加载完成.这里给出一点想法. 首先想想这个问题如果是在JS里面是如何实现的.JS里面最简单的方式就是利用onload事件让一段JS在页面加载完成后启动.使用onload事件的好处是,能够保证页面上的image图片都已经加载完成. 比如: window.onload = function() { // do something } //

js 判断页面加载状态

//----判断当前页面是否加载状态 开始 ---- document.onreadystatechange = subSomething;//当页面加载状态改变的时候执行这个方法. function subSomething() { if (document.readyState != 'complete') //当页面加载状态 { //----显示遮罩 开始---- $(".overlay").css({ 'display': 'block', 'opacity': '0.8' }

MFC WebBrowser判断网页加载完成

mfc 的webbrowser是大家使用非常多的一种查看操作网页的一种控件,在使用中,判断网页什么时候加载完成就显得非常重要了.下面介绍我采用的一种方法,这种方法可以判断网页内部即使有frame网页也是可以判断成功.在对话框里添加一个webbrowser控件,在对话框的初始化函数OnInitDialog()中加入web控件默认加载的网页. //禁用IE脚本错误 m_web.put_Silent(TRUE); //默认打开百度网页 m_web.Navigate(L"https://www.baid

Duilib中Webbrowser事件完善,使其支持判断页面加载完毕

在多iframe的页面中,需要结合DISPID_DOCUMENTCOMPLETE和DISPID_BEFORENAVIGATE2两个事件判断页面是否加载完毕,而duilib中没有提供对DISPID_DOCUMENTCOMPLETE的支持. 要支持DISPID_DOCUMENTCOMPLETE,需要修改UIWebBrowser.cpp.UIWebBrowser.h和WebBrowserEventHandler.h三个文件,修改之后的文件见附件.

C# webbrowser判断页面是否加载完毕

private void Form1_Load(object sender, EventArgs e) { webalipay.Url = new Uri("https://authzth.alipay.com/login/homeB.htm"); webalipay.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);//加载完成后的事件 } /// <su

Webbrowser控件判断网页加载完毕的简单方法 (转)

摘自:http://blog.csdn.net/cometnet/article/details/5261192 一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕.但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕. 从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了Down

页面加载后累加,自加1&amp;&amp;判断数字是否为两位数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Webbrowser控件判断网页加载完毕的简单方法

一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕.但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页加载完毕.从微软的官方网站上了解到,并非每个frame都对应了一个DocumentCompleted事件,只有触发了DownloadBegin事件的frame才会有相应的DocumentCompleted事件.另外,最外层的frame总是最