bschultze: Aktuelle DOM-Position

Beitrag lesen

Was ist oberhalb, was ist ein Baum?
Kannst du auch konkret werden?

Ok, dann mal etwas konkreter:

Wir haben ein Apache-Modul entwickelt, dass mittels mehrerer Parser (HTML, JS, CSS, RE) eine beliebige Site in Echtzeit vom Originalserver  bezieht, u. durchreicht. Das ganze ohne Proxy in den Browser-Settings.
D.h. jeder jegliche Adressierung (sei es HTMl, JS, CSS, Flash, ...) muss auf den "man-in-the-middle-Kontext" umgeschrieben werden, damit Folgeaufrufe auf dem vermittelnden Server bleiben und auch alle Elemente diesen Server passieren (die Seiten müssen nachträglich [u. unabhängig vom eventuellen Session-Kontext] 1:1 ohne Kontakt zum Originalserver nachgebildet werden können, um aufgrund der gesammelten Daten automatisiert Screenshots erstellen zu können).

Soweit funktioniert das ganze auch.
Allerdings müssen natürlich auch DHTML-Inhalte entsprechend angepasst werden, bevor sie beispielsweise per document.write() oder *.innerHTML in's Dokument geschrieben werden. Das geschieht über Wrapper.
Damit nicht die ganze serverseitige Logik clientseitig nachgebaut werden muss, gehen DHTML-Inhalte rekursiv per XHR zurück in die Serverlogik ein.

Das Problem: Bei sehr großen DHTML-Lastingen Seiten steigen durch die sequentiellen XHR-Requests die Performance-Defizite in einen inakzeptablen Bereich, sodass ich an dieser Stelle überlege, DHTML-Inhalte JS-seitig in einen DOM-Fragent zu überführen, per DOM-Manipulation zu bearbeiten u. an der entsprechenden Stelle einzuhängen um (wie angedeutet) nicht browserseitig auf das serverseitige Parserkonstrukt auf Textebene nachbauen u. vor allem pflegen zu müssen.

Die Frage ist jetzt: Wie komme ich z.B. ausgehend von einer document.write() -Funktion an dasjenige Element, and das ich das DOM-Fragment anfügen muss, um ein Äquivalent zu document.write() herzustellen.

Allerdings ist die Idee wohl eh hinfällig, da alle mir bekannten möglichkeiten einen HTML-Schnipsel in ein DOM-Fragment umzuwandeln, dazu führen, dass entsprechende Requests umgehend eingeleitet werden - bevor man eine Chance hat relevante Attribute zu manipulieren.

Viele Grüße,
Björn