Gruss Mathias,
Es sind natürlich auch andere Formate denkbar. Etwa die Forumsseite
direkt im JSON-Format, aus der dann der XHTML-Code erzeugt wird.
Das war Spaß, oder ?-)Nein, wäre das denn Overkill? Google hat sogar eine XSLT-Implementierung
in JavaScript, dagegen ist eine JSON-zu-XHTML-Konvertierung extrem einfach,
nahm ich an.... ;)
Ah, ich glaube zu verstehen ... die aktuelle Forums-Struktur als [[object]]
permanent im Hauptspeicher des Servers?
Ich dachte bisher immer, daß bei clientseitiger Transformation nur auf
das generierte DOM und nicht auch noch auf das Ausgangs-DOM zugegriffen
werden kann. Lieg ich da falsch?Auf das Problem war ich auch gestoßen. Ich weiß nicht, ob es sich lösen
lässt, jedenfalls dachte ich mir: Es gibt einen leeren HTML-Container,
der nur einige Scripte einbindet. Diese laden dann mittels XMLHttpRequest
das bzw. die XSLT-Stylesheets und das XML-Dokument mit der Threadliste.
Die Stylesheets werden dann mittels JavaScript auf das XML-Dokument im
Speicher angewendet, um das XHTML-Dokument und eventuell den JSON-Code
zu erzeugen. Das XHTML-Dokument bzw. -Dokumentfragment wird dann ins DOM
des leeren Containerdokuments einmontiert, der JSON-Code ausgeführt. Das
war allerdings nur ein Gedankenspiel. ;) Jedenfalls hat man auf diese
Weise Zugriff auf Ausgangs- und Ziel-DOM.
Um mit geringem technischen Aufwand das Forum allgemein zugänglich zu
halten, würde ich auf diesen Ansatz verzichten. Im Client sollte am
Anfang immer ein vollständiges "hartes" (X)HTML-Dokument stehen - so
schließt man die JavaScript-blinden Browser nicht aus.
Das einzige, was dagegen spräche, dem Client fertiges (X)HTML zusammen mit
dem dieser Struktur entsprechenden JSON-Objekt (um auf das clientseitige
Parsen zu verzichten) auszuliefern, ist doch die etwas größere Datenmenge.
Da moderne Browser aber XSL-Transformation beherrschen, birgt die
schon vorgeschlagene Variante: "clientseitige XML-nach-(X)HTML/JSON-
Transformation" doch eigentlich das meiste Potential:
- Das Forum ist auch bei deaktiviertem JavaScript nutzbar.
- Aktiviertes JavaScript katapultiert diese Basis-Version
dann in eine andere Dimension.
- Der Start in die andere Welt erfolgt auch recht zügig,
da auf ein resourcenhungriges Parsen des (X)HTML-Baumes
verzichtet wird. Die JSON-Struktur als Basis aller
zusätzlichen Funktionalität steht sofort zur Verfügung.
so long - peterS. - pseliger@gmx.net
"Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive." - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]