Einzelnen Beitrag anzeigen

Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#5

AW: TWebBrowser: innerHTML für versch. HTML-Elemente auf Existenz prüfen

  Alt 12. Okt 2012, 16:26
Falls jemanden interessiert, wie eine mögliche Lösung ohne Vorhalten einer HTML-Elementenliste aussieht, es funktioniert u.a. folgendermaßen:

Delphi-Quellcode:
var
   element: IHTMLElement; // hat nicht "canHaveChildren"
   element2: IHTMLElement2; // hat nicht "id"

begin
element := {<Element über "id" zuweisen>};

if supports(element, IHTMLElement2, element2) then
   begin
   if element2.canHaveChildren then
      begin
      // element2.innerHTML lesen/ schreiben
      end;
   end;

end;
Damit funktioniert der geschilderte Fall:
- Ein DOM-Element per id finden
- Wenn es innerHTML besitzt etwas hineinschreiben (z.B. einen HTML-Kommentar, der geht immer)
- Wirft keine NotSupported-Exception, geht also auch im Debugger

Mein Anwendungsfall:
- Laden des DOM-Baumes in eine TreeView
- Anklicken eines Baumknotens
- sofortiges Übernehmen von eingetipptem Text aus einem Memo in das innerHTML des DOM-Elementes

Grüße
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat