![]() |
WebBrowser zeigt den Inhalt nicht konform an
Hallo,
ich nutze den TWebBrowser zur Darstellung der Beiträge in einem Chat. Damit kann ich leicht smileys, links und weiteres einfügen. das mach ich mit: [delphi] uses mshtml; procedure TForm1.insert_text(str:string); var Range: IHTMLTxtRange; begin Range := ((WebBrowser2.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; Range.collapse(False); Range.pasteHTML(' '+str); Range.scrollIntoView(true); //[pre]Range.text:=Range.text+str; anzeigen des html codes als text end; [/pre] das klappt auch soweit, wenn ich vorher about:blank geladen habe. wenn ich jetzt eine zeile einfüge zum beispiel [pre] str:=' ![]() [/pre] dann wird der link nicht beendet und alles darauf folgende wird unterstrichen und man kann darauf clicken. clickt man darauf verweist er auch auf die link.htm, das klappt soweit doch anscheinend findet er nicht das ende für den label vom link also [pre]</a>[/pre] das gleiche problem habe ich mit [pre] <font>[/pre] und allen anderen html tags die etwas umschließen wie <div> das lustige ist, wenn ich die auskommentierte zeile, also [pre]Range.text:=Range.text+str;[/pre] nicht auskommentiere sondern, mit compilieren lasse, klappt alles wie es soll, wie von zauberhand. ich habe keine ahnung warum das nicht klappt und [pre]Range.text:=Range.text+str;[/pre] kann ich ja auch nicht drin lassen, da dann der ganze quelltext mit angezeigt wird ich habe es auch schon mit[pre]Range.parentElement.insertAdjacentHTML('BeforeEnd' ,' '+str);[/pre] probiert und da kommt auch nur quatsch mit soße raus ich bitte um Hilfe :D |
Re: WebBrowser zeigt den Inhalt nicht konform an
ich habe grad den text per
Delphi-Quellcode:
denn klappt alles, weil der text am anfang also vor dem <a ...> und so weiter reingeschrieben wird :D
Range.parentElement.insertAdjacentHTML('AfterBegin',str);
sieht aber nicht schön da dann das neueste nicht unten, sondern oben steht ^^ |
Re: WebBrowser zeigt den Inhalt nicht konform an
nach vielen versuchen habe ich die lösung xD
sie ist zu einfach ^^
Delphi-Quellcode:
<(^^<) <(^^)> (>^^)>
procedure TForm1.insert_text(str:string);
var Range: IHTMLTxtRange; begin Range := ((WebBrowser2.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange; Range.collapse(false);//----> diese zeile raus und dann Range.parentElement.insertAdjacentHTML('BeforeEnd',str); Range.scrollIntoView(true); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz