zoukankan      html  css  js  c++  java
  • 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)
         {
             //加载完成
         }
    } 
  • 相关阅读:
    算法模板——线性欧拉函数
    2818: Gcd
    1688: [Usaco2005 Open]Disease Manangement 疾病管理
    3314: [Usaco2013 Nov]Crowded Cows
    3450: Tyvj1952 Easy
    1664: [Usaco2006 Open]County Fair Events 参加节日庆祝
    1054: [HAOI2008]移动玩具
    1432: [ZJOI2009]Function
    1121: [POI2008]激光发射器SZK
    1113: [Poi2008]海报PLA
  • 原文地址:https://www.cnblogs.com/archip/p/3902586.html
Copyright © 2011-2022 走看看