在触发DocumentCompleted后检测webBrowser文档更改

时间:2010-12-23 12:28:42

标签: c# .net webbrowser-control

我正在使用WebBrowser控件。我编辑了一些HTML输入,然后单击WebBrowser DocumentCompleted事件处理程序中的一个按钮。我的问题是单击我提到的按钮使用AJAX更改文档的内容,知道我需要解析新更改中的一些信息。问题是:如何检测文档何时加载新内容。是否有任何类型的事件处理程序,如DocumentChanged。

提前致谢。

3 个答案:

答案 0 :(得分:1)

无法做到这一点,我敢肯定 - WebBrowser控件非常简单且功能不佳

答案 1 :(得分:1)

我想你会回来的。可扩展性对象模型对观察脚本执行没有很大的支持。这是不切实际的,脚本代码可以在不可预测的时间从页面状态完全异步运行。如果脚本没有可靠的DOM修改,你可以回读,那么你没有什么好的选择,除了旋转你的车轮几秒钟,给它“足够的时间”。鉴于您在工作线程中运行它,不应该是一个问题,只需使用一个System.Windows.Forms.Timer,它的Tick事件调用Application.ExitThread来结束该线程。

答案 2 :(得分:0)

您是否控制了所显示文档的HTML?如果是这样,在完成ajax更改后,您可以使用Javascript在父表单window.external.MyPublicMethodName()中调用C#方法。您的应用程序需要在完全信任中运行才能实现此功能,并且还要将浏览器ObjectForScripting对象设置为表单本身,例如您的Form_Load事件中的this.webBrowser1.ObjectForScripting = this;

相关问题