www.cftea.com

WebBrowser 的 DocumentCompleted 说明

千一网络(原创)2016/10/25 20:35:55

Visual C# 的 WebBrowser 控件有个常用的事件:DocumentCompleted。

这个东西听名称感觉对应的 WebBrowser 的 ReadyState 为 WebBrowserReadyState.Complete, 但实际上不是的,ReadyState 还很可能是 Interactive。

我们在 DocumentCompleted 中输出 ReadyState,可以发现有 Complete 状态,Interactive 有时候有,有时候没有。

另外,我遇到了特别奇怪的情况,DocumentCompleted 中居然还有 Loading 状态。

Loading 状态也在这个事件中输出了(请不要认为我代码有 BUG)。该测试的网页如果不是因为需要用户名、密码,我真会给诸位贴出来,共同研究一下。

我在猜想是不是这样呢:A 页面触发了 DocumentCompleted 事件,但立即就跳转到 B 页面了,而此时 B 页面正在 Loading,显示的状态实际是 B 页面的。

所以用这个事件时,一定要判断 ReadyState。

Reasponse.Redirect 跳转到另一页面,两个页面都会触发该事件吗?

我测试的情况是第一个页面不会。

JavaScript location.href 跳转到另一页面,两个页面都会触发该事件吗?

我测试的情况居然第一个页面也没有触发。

页面中有 iframe,iframe 引用的页面会触发该事件吗?

会。

<<返回首页<<