1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

JavaScript und XHTML

Dieses Thema im Forum "PHP & Co." wurde erstellt von Slashwalker, 05.05.09.

  1. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    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?o_O

    Any idea?
     
  2. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    Weiß keiner eine Lösung?
     
  3. Katzenfutter

    Katzenfutter Kaiser Wilhelm

    Dabei seit:
    16.12.06
    Beiträge:
    174
    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?
     
  4. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    Hier der Link http://fusionality.de/projekte/ mit http://fusionality.de/projekte/?xml kann man die Seite als application/xhtml+xml aufrufen, andernfalls wird sie als text/html ausgeliefert.

    An Input gibt es sonst nicht viel zu schreiben, ich habe am JS nichts geändert. Nur im Aufruf halt die Parameter für das Startbild und den Slider ausgeblendet.
     
  5. Katzenfutter

    Katzenfutter Kaiser Wilhelm

    Dabei seit:
    16.12.06
    Beiträge:
    174
    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.
     
  6. Katzenfutter

    Katzenfutter Kaiser Wilhelm

    Dabei seit:
    16.12.06
    Beiträge:
    174
    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...
     
  7. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    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.
     
  8. Slashwalker

    Slashwalker Winterbanana

    Dabei seit:
    15.05.06
    Beiträge:
    2.190
    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
     

Diese Seite empfehlen