| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2403 人关注过本帖
标题:webbrowser加载框架网页
只看楼主 加入收藏
laugh8
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-12-16
收藏
 问题点数:0 回复次数:3 
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

是在DocumentCompleted事件中判断e.Url和WebBrowser.Document.Url是否一致
如一致则表示初始页面加载完毕

同样,这个办法也不准确.

特别是加载iChat类型的聊天室时.

还有没有其它更准确的办法?求助!!

WindowsApplication2.rar (768.98 KB)
搜索更多相关主题的帖子: 加载 网页 webbrowser 框架 
2008-12-08 15:36
hellson
Rank: 2
来 自:北京
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2008-9-1
收藏
得分:0 
            while ("complete".Equals(axWebBrowser1.ReadyState))
            {
                Thread.Sleep(200);
            }


我以前用的,试试看?

春了夏了秋冬了,来了来了又来了
相信我的帖子打开都很快,看我头像就知道了
2008-12-08 16:12
laugh8
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-12-16
收藏
得分:0 
非常感谢楼上的帮助.不过我用的是vs2005下的Webbrowser而不是axWebbrowser.
另外,这种办法好象已经试过.效果不理想.
谢谢
2008-12-09 08:36
laugh8
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2004-12-16
收藏
得分:0 
while (webBrowser1.ReadyState == WebBrowserReadyState.Loaded或 (webBrowser1.ReadyState == )
                MessageBox.Show("Ok");
无论用哪个,都不会执行Messagebox语句
2008-12-09 08:41
快速回复:webbrowser加载框架网页
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012163 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved