簡體   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