Entwickler-Ecke

Internet / Netzwerk - TWebBrowser: Anker in einer Seite


martinf16 - So 27.01.08 02:08
Titel: TWebBrowser: Anker in einer Seite
Hallo Leute!

Ich habe eine kurze Frage an euch.. Ich benutze die Komponente TWebBrowser, um innerhalb eines Programms eine generierte Seite anzuzeigen. Bislang habe ich es so gemacht, dass die Seite in einem String bleibt, der dann an den Browser übergeben wird, was auch ganz gut funktioniert.

Nun kommt es aber zu einem Problem mit Ankern innerhalb der Seite, zu denen der Benutzer springen kann. Anstatt zu der entsprechenden Stelle zu springen, funkioniert es nicht, da der Browser anscheinend Zugriff auf eine ausgelagerte Datei sucht. Zumindest funktioniert die Ankerfunktion wenn ich die Datei kurzfristig auf dem Rechner zwischenspeichere und dann anzeigen lasse.

Nun meine Frage an euch: Ich finde beide Lösungen nicht gut. Der Benutzer sollte im Dokument springen, es lohnt sich aber nicht wirklich die Datei immer wieder abzuspeichern. Gibt es vielleicht eine Lösung die Anker trotzdem verfügbar zu machen? Und wo würdet ihr die Datei zwischenspeichern, wenn es dafür keine Lösung gibt? Im Temp-Ordner? Im Programm-Ordner??

Vielen Dank für eure Mühe und einen schönen Sonntag!!


Lannes - So 27.01.08 11:36

Hallo,

und :welcome: in der EE. :)

Binde Deinen HTML-String als Recource ein, Beitrag #4: Link [http://www.delphi-forum.de/viewtopic.php?t=60266]


Martok - So 27.01.08 13:49

Deswegen mag ich TWebBrowser nicht ;)

THTMLViewer [http://pbear.com/index.htm] ist IMHO wesentlich einfacher zu nutzen, grade wenn man nur einen Report anzeigen will. Und vor allem: da funktioniert sowas ;)


martinf16 - So 27.01.08 17:37

Vielen Dank schonmal. Die Ressourcen Lösung werde ich mir auf jeden Fall für andere Anwendungen merken.

Allerdings wird der HTML Code in meiner Anwendung erst zur Laufzeit erzeugt und ständig geändert, er fungiert quasi als Vorschau einer HTML Seite, die vom Programm automatisch erzeugt wird.

Also müsste die Ressource ständig aktualisiert werden. Ist das anzuraten?!