Hallo nochmal,
es funktioniert tatsächlich! Vielen Dank!!!
Ein kleines Problem habe ich allerdings noch:
Um Bereiche kopieren, ausschneiden, löschen, etc. zu können, brauche ich eine Selection. Diese erzeuge ich nach Durchlauf der Schleife folgendermaßen:
Delphi-Quellcode:
hElement := selectionRange.parentElement;
While UpperCase(hElement.parentElement.tagName) <> 'BODY' Do Begin
hElement := hElement.parentElement;
End;
If hElement <> nil Then selectionRange.moveToElementText(hElement);
selectionRange.Select;
showmessage (hElement.outerHTML);
showmessage (selectionRange.htmlText);
SelectionRange enthält dann allerdings nicht den Text von outerHTML, sondern den von innerHTML. Es fehlt also das äußerste
HTML-Tag. Wenn ich aber noch einmal parentElement einbaue, dann wird gleich der gesamte body markiert.
Das Problem habe ich (etwas provisorisch) gelöst durch Einfügen der folgenden Zeilen:
Delphi-Quellcode:
selectionRange.moveStart ('character', -1);
selectionRange.moveEnd ('character', 1);
Dadurch wird allerdings ein Zeichen zuviel markiert. Gibt es denn noch eine bessere Möglichkeit, den vollen outerHTML-Text in eine Selection umzuwandeln?