.net - net - welcher browser ist der sicherste




.Net WebBrowser.DocumentText ändert sich nicht! (6)

Bitte beziehen Sie sich auf diese Antwort c # filenotfundexception auf Webbrowser?

In meinem vb.net-Programm benutze ich einen Webbrowser, um dem Benutzer eine HTML-Vorschau zu zeigen. Ich habe zuvor einen Server getroffen, um den HTML-Code zu erhalten, und dann einen asynchronen Thread zurückgegeben und ein Ereignis ausgelöst, um den WebBrowser.DocumentText mit der von mir zurückgegebenen HTML-Zeichenfolge zu füllen.

Jetzt habe ich es eingerichtet, um alle Informationen auf dem Client zu erfassen, ohne jemals den Server zu treffen, und ich versuche, das gleiche Ereignis anzugehen. Ich sehe den Code durch, und es hat die HTML-Zeichenfolge richtig und alles, aber wenn ich es versuche

browser.DocumentText = _emailHTML

Der Inhalt von DocumentText bleibt als " <HTML></HTML> "

Ich habe mich nur gefragt, warum der DocumentText nicht eingestellt wurde. Hat jemand irgendwelche Vorschläge?


Das hat für mich funktioniert:

webBrowser.Navigate("about:blank");
webBrowser.Document?.Write(htmlString);

Ich fand den besten Weg, damit umzugehen, ist wie folgt:

if (this.webBrowser1.Document == null)
{
    this.webBrowser1.DocumentText = htmlSource;
}
else
{
    this.webBrowser1.Document.OpenNew(true);
    this.webBrowser1.Document.Write(htmlSource);
}

Ich habe folgendes gefunden und es hat funktioniert!

    webBrowser.Navigate("about:blank");
    webBrowser.Document.OpenNew(false);
    webBrowser.Document.Write(html);
    webBrowser.Refresh();

Versuche Folgendes:

browser.Navigate("about:blank");
HtmlDocument doc = browser.Document;
doc.Write(String.Empty);
browser.DocumentText = _emailHTML;

Ich habe festgestellt, dass das WebBrowser Steuerelement in der Regel zu initialisiert werden muss about:blank sowieso. Das gleiche gilt für die Navigation zu verschiedenen Inhaltstypen (z. B. text / xml zu text / html), da der Renderer anders ist (mshtml für text / html, etwas anderes für text / xml).

(über http://geekswithblogs.net/paulwhitblog/archive/2005/12/12/62961.aspx )


Während Application.DoEvents() es in einem WinForms-Projekt behebt, war es in einem WPF-Projekt irrelevant.

Ich habe es schließlich mit webBrowser.Write( htmlContent ) (anstelle von webBrowser.DocumentText = htmlContent ) zum webBrowser.DocumentText = htmlContent .





browser