AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebBrowser - Position auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser - Position auslesen

Ein Thema von Opa Knack · begonnen am 4. Sep 2008 · letzter Beitrag vom 4. Sep 2008
Antwort Antwort
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#1

TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 01:26
Hallo,

in einem anderen Posting suche ich nach einer WYSIWYG-Komponente für Webseiten, was sich anscheinend nicht übermässig leicht darstellt.

Deshalb nun eine Frage, die eventuell eine Alternative darstellen könnte: Theoretisch sollte es ausreichen, die Webseite in einen TWebBrowser einzulesen und über ein Richedit editierbar zu machen (per HTML-Import/Export). Nun ist das Problem, dass die Webseiten nicht komplett editierbar sein sollen, sondern nur Teilbereiche daraus. Ich bräuchte also eine Möglichkeit, nach einem Klick auf den TWebBrowser auszulesen, ob sich der angeklickte Bereich in einer editierbaren Zone befindet, und den entsprechenden Quelltext dann bei positiver Antwort in das Richedit zu kopieren. Für die Zonen habe ich Platzhalter in das HTML-Dokument eingebunden ("").

Nun zur Frage: Hat jemand eine Idee, wie ich das auslesen könnte? Die knapp 30 Seiten, die mir die SuFu zum Thema TWebBrowser auswirft, haben mir da leider noch keinen Anhalt geben können.

Danke
Opa
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 01:58
Wie wäre es wenn du einen Online-Editor wie diesen im TWebbrowser anzeigen würdest. Der ist dann WYSIWYG.

Für deine Zonen würde ich mit regulären Ausdrücken arbeiten.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 05:49
Guten Morgen,

bearbeitbare Teilbereiche in einem HTML-Dokument lassen sich mit dem TWebBrowser realisieren. WYSIWYG mit designMode, contentEditable, aber mir genügt oft schon Template-Verarbeitung mit TPageProducer.

Grüße vom marabu
  Mit Zitat antworten Zitat
Opa Knack

Registriert seit: 28. Dez 2004
Ort: Köln
166 Beiträge
 
#4

Re: TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 09:29
Hallo,

Danke für die bisherigen Tipps.

Die Idee mit dem Onlineeditor hatte ich auch schon, sehe darin nur das Problem, dass Javascript vorausgesetzt wird, was ich aber nicht unbedingt voraussetzen will (Programm wird eingesetzt in einem eher sehr puristischen Bereich, in dem das Vorhandensein eines Betriebssystems schon eine IT-Revolution darstellt). Weiterhin habe ich mir den oben genannten Editor näher angeschaut, finde ihn wirklich sehr gut, aber soweit ich sehen konnte, gibt es nicht allzu viele Möglichkeiten, direkten Einfluß auf ihn zu nehmen (z. B. welche Toolbuttons wo angezeigt werden, ...).

DesignMode ist gut, ich möchte aber lieber auch auf ActiveX verzichten (s. o.). Das mit dem PageProducer muss ich mir anschauen, mit dem habe ich mich noch gar nicht beschäftigt.

Hat sonst noch jemand Ideen? Ich habe schon darüber nachgedacht, den Text auszulesen, der angeklickt wurde, und dann im Quelltext zu suchen, aber das ist mit zu vielen Problemen verbunden (Entities, doppelt vorhandener Text, ...). Eventuell geht's über DOM, aber damit habe ich mich noch nicht ausreichend beschäftigt.

Bin weiterhin für jeden Tipp dankbar.

Gruß
Opa
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 10:15
Hallo,

in wie weit kannst Einfluss auf dein Template nehmen?
Dann könntest du Inhaltselemente mit bestimmten IDs kennzeichnen,
z.B. "ID3-editable" oder entweder alle editierbaren
Elemente mit einer Klasse versehen, nach der du suchen könntest.

Das kannst du dann über das schon angesprochene DOM, indem du
feststellst, welcher Knoten sich unter deiner Maus befindet.
Wenn sich dann innerhalb deiner ID "editable" oder in eine
bestimmte Klasse befindet, könntest du den Inhalt auslesen und
an deinen Editor übergeben.

Zur Umwandlung der RichEdit gibt es dann sowas wie TScroogeXHtml,
aber das wäre ja schon einen Schritt weiter.


Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 17:48
Hallo,

Zitat von Opa Knack:
... DesignMode ist gut, ich möchte aber lieber auch auf ActiveX verzichten (s. o.). ...
das WebBrowser Control ist ein ActiveX Control - und TWebBrowser ist sein Wrapper. Verzichten soll dann wohl heißen, dass du dieses Control nicht verwenden willst, obwohl es auf dem Zielrechner vorhanden ist. Das war mir so nicht klar. Ich hatte nach dem Lesen deines Eröffnungsbeitrags eher den Eindruck, dass du die HTML-Darstellung TWebBrowser überlassen wolltest.

Freundliche Grüße
  Mit Zitat antworten Zitat
julchen

Registriert seit: 20. Mär 2008
115 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: TWebBrowser - Position auslesen

  Alt 4. Sep 2008, 19:52
Vielleicht hilft Dir GECKO weiter! Ist auch eine Web-Komponente!
Hab aber selber damit noch nichts gemacht und kann Dir deshalb nichts weiter sagen
Frag mal mkinzler, Bernard Geyer, Marabu, Sakura, Thornberry, Alcaeus oder andere Cracks ob Dir damit vielleicht geholfen wäre?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz