繁体   English   中英

Web浏览器控件在C#中的怪异行为

[英]Webbrowser control in C# weird behavior

我正在将HTML字符串值设置为webbrowser.DocumentText。 问题是,有时它会工作,有时会挂起,并且不会经历documentcomplete事件。 可能是什么问题?

请尽快回复。

谢谢,

杰普

只是一个想法:在当今所有的网络“动态主义”中,页面从未真正处于“完全加载”状态。 在DocumentComplete之后,将触发页面的OnLoad事件,然后触发在该事件中放置的所有脚本,然后可以使用javascript计时器来启动某些资源的下载/上传,或使用AJAX等更改页面。

我相信AJAX调用可能会导致WebBrowser控件出现各种看不见的问题。 因为AJAX可能导致页面加载期间触发多个Navigating()事件。 因此,您的应用将在该页面上遇到多个DocumentCompleted事件触发。

可能的解决方案是监视页面更改并尝试找出可能发生的更改。 为此,您可能需要研究Notify方法。

当与之关联的标记容器的内容发生更改时,由MSHTML调用。

这个这个讨论可能会帮助您提出如下建议:

HtmlElement target = _webBrowser.Document.GetElementById("somedivthatwillbepopulatedbytheajaxrequest");

if (target != null)
{ 
    target.AttachEventHandler("onpropertychange", new EventHandler(handler));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM