如何判断C#webbrower页面是否加载完毕方法
1个回答
展开全部
方法/步骤
第
一种方法:////////计数器递增函数//////// public void counteradd(object sender,
EventArgs
e) { counter++;//一次navigated就加一次 }/////////页面加载
完要执行的函数///////////public void go(object sender, EventArgs
e) { counter4--;//一次completed就减一次 if
(0 == counter4)//等于0表示刚好加载完鸟
{ 要干什么就写这里了 }}/////////把事件handle一下
/////////this.webBrowser1.Navigated += new
System.Windows.Forms.WebBrowserNavigatedEventHandler(counteradd);
this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go);
第
二种方法:若是一个页面中含有多个框架页,那么在每个框架页加载完成时也可能触发一次DocumentCompleted事务(MSDN对其申明是在多个
的帧的景象下DocumentComplete获取触发多次。并非每个框架将触发此事务,但触发DownloadBegin事务的每个框架将触发响应的
DocumentComplete事务)。 this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go); private void go(object
sender, WebBrowserDocumentCompletedEventArgs e) { if
(e.Url.ToString() !=
webBrowser1.Url.ToString()) return;//不断拒绝,只有URL是
webbrowser1的navigate地址才接受 else {
要干什么就写这里了 }}
3
第
三种方法:WebBrowser载入一个页面后DocumentCompleted事务会履行两次,但这两次的ReadyState状况不一样,分别是
Intercative和Complete。而MSDN对这两种状况值的申明是:Complete该控件已完成新文档及其所有内容的加
载;Interactive该控件已经加载足够的文档以容许有限的用户交互,比如单击已显示的超链接。由此可见,实际上
DocumentCompleted事务会在Interactive状况和Complete状况各调用一次,那么我们可以按照我们的须要来断定到底须要那
一次。解决办法实例代码如下: this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go); private void go(object
sender, WebBrowserDocumentCompletedEventArgs
e) {if(webBrowser1.ReadyState !=
WebBrowserReadyState.Complete) return; else{
要干什么就写这里了}}基本就三种方法了,在有firame的页面里面,第一种=第二种+第三种,自己想想为什么。再搞不定那就只能god bless
you 了,别找piikee了。
第
一种方法:////////计数器递增函数//////// public void counteradd(object sender,
EventArgs
e) { counter++;//一次navigated就加一次 }/////////页面加载
完要执行的函数///////////public void go(object sender, EventArgs
e) { counter4--;//一次completed就减一次 if
(0 == counter4)//等于0表示刚好加载完鸟
{ 要干什么就写这里了 }}/////////把事件handle一下
/////////this.webBrowser1.Navigated += new
System.Windows.Forms.WebBrowserNavigatedEventHandler(counteradd);
this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go);
第
二种方法:若是一个页面中含有多个框架页,那么在每个框架页加载完成时也可能触发一次DocumentCompleted事务(MSDN对其申明是在多个
的帧的景象下DocumentComplete获取触发多次。并非每个框架将触发此事务,但触发DownloadBegin事务的每个框架将触发响应的
DocumentComplete事务)。 this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go); private void go(object
sender, WebBrowserDocumentCompletedEventArgs e) { if
(e.Url.ToString() !=
webBrowser1.Url.ToString()) return;//不断拒绝,只有URL是
webbrowser1的navigate地址才接受 else {
要干什么就写这里了 }}
3
第
三种方法:WebBrowser载入一个页面后DocumentCompleted事务会履行两次,但这两次的ReadyState状况不一样,分别是
Intercative和Complete。而MSDN对这两种状况值的申明是:Complete该控件已完成新文档及其所有内容的加
载;Interactive该控件已经加载足够的文档以容许有限的用户交互,比如单击已显示的超链接。由此可见,实际上
DocumentCompleted事务会在Interactive状况和Complete状况各调用一次,那么我们可以按照我们的须要来断定到底须要那
一次。解决办法实例代码如下: this.webBrowser1.DocumentCompleted += new
WebBrowserDocumentCompletedEventHandler(go); private void go(object
sender, WebBrowserDocumentCompletedEventArgs
e) {if(webBrowser1.ReadyState !=
WebBrowserReadyState.Complete) return; else{
要干什么就写这里了}}基本就三种方法了,在有firame的页面里面,第一种=第二种+第三种,自己想想为什么。再搞不定那就只能god bless
you 了,别找piikee了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询