• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

JavaScript und XHTML

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Hallo ATler,
ich nutze auf meiner Website ImageFlow, was leider dazu führt das ich die Website als text/html ausliefern muss obwohl sie eigentlich application/xhtml+xml ist, da sonst nur der Ladebalken angezeigt wird.

Nun habe ich mir das Script bissel angeschaut. Es kommt zwar ein document.write() vor, dieses ist aber auskommentiert, da es wohl nur für ältere IE gilt.

Ich dachte bisher, document.write() wäre die einzige inkompatible Funktion im Zusammenhang mit XHTML?:-/

Any idea?
 
Wie wärs mit etwas mehr Input und evtl. einem Link zur betreffenden Seite, damit sich auf hilfsbereite Leute ein Bild von deinem Problem machen können?
 
Das Problem hier scheinen einige DOM-Manipulationen zu sein, die zwar mit MIME-Type text/html funktionieren, nicht aber mit application/xhtml+xml.

Hier ein Link, der eben dieses Problem beschreibt.
http://simonwillison.net/2003/Jun/15/javascriptWithXML/

Wenn ich den Text richtig verstehe, dann müsstest du jedes "createElement()" durch "createElementNS()" ersetzen. Du arbeitest demnach nicht mehr mit HTML-Elementen, sondern mit XML-Tags...

http://www.w3schools.com/dom/met_document_createelementns.asp

Hoffe, ich konnte helfen.
 
Nachtrag:
Konnte das gleiche Verhalten lokal reproduzieren, aber ImageFlow leider nicht zur Arbeit überreden.
Denke, hier wird dir nichts anderes übrig bleiben als den JavaScript-Source durchzuwühlen und ggfs. DOM-Manipulationen XML-tauglich umzubauen...
Glaube aber kaum, dass dies den Aufwand wert ist... lass Apache/PHP in dem Fall einfach text/html ausliefern und gut ists.
Hab bisher kaum jemanden gesehen, der auf eine korrekte Auslieferung mit application/xhtml+xml aus ist...
 
Danke für den Hinweis! Das Problem mit document.write() kannte ich, aber das documentCreateElement() auch Probleme mit XHTML mit sich bringt wusste ich nicht. Leider funktioniert es trotz der Änderung auf createElementNS() nur im text/html Modus.
 
Ich stecks. Wird die Seite halt als text/html ausgeliefert, ändert ja nichts an der Qualität des Quellcodes.
Und der beste Browser der Welt kann eh kein application/xhtml+xml:-p