Kennt Firefox XHTML?

  • Hallo Leute,

    ich denke, mein Problem muss am DOCTYPE XHTML liegen, vielleicht hat jemand ja schon mal etwas ähnliches erlebt und kann mir helfen.

    Folgendes: Ich bin dabei, eine Site in XHTML zu erstellen. Das muss sein, weil mein CSS Layout sonst nicht richtig funktioniert. Die Navigation läuft über ein Javascript, das in einem externen File (im Ordner menu) ausgelagert ist. Der Internet Explorer (IE 7.0) zeigt alles richtig an, Layout und Navigation. FF 2.0 zeigt die Navigation nur dann richtig an, wenn ich z.B.

    <!doctype html public "-//w3c//dtd html 4.0 transitional//en">

    angebe. Bei

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">,

    wie ich es eigentlich gern hätte, funktioniert die Navigation leider nicht und außerdem wird die Navi-Box falsch angezeigt.
    Ihr findet ein Beispiel bei http://www.ggt-online.de/msc/index.html. Diese Seite hat DOCTYPE XHTML 1.0 und die Navi-Box funktioniert nicht. Dann clickt bitte einmal auf Impressum, die Seite hat doctype html 4.0 und die Navi-Box liegt richtig und funktioniert auch. Selbstverständlich ist der HTML Code für die Navigation auf beiden Seiten absolut identisch.
    Der IE zeigt alles richtig an, aber natürlich nur bei DOCTPYE XHTML 1.0. Deshalb zeigt der IE auch die Impressum Seite mit falschem Layout an (man achte auf den Kopfbereich).

    Kann jemand helfen?

  • Zitat von Bruno Scharnberg

    ich denke, mein Problem muss am DOCTYPE XHTML liegen, vielleicht hat jemand ja schon mal etwas ähnliches erlebt und kann mir helfen.


    Jepp. Das hier:

    Code
    <!doctype html public "-//w3c//dtd html 4.0 transitional//en">


    ...führt in allen Browsern zum QuickMode. Das ist ein Kompatibilitätsmodus. Um in einen richtigen XHTML-Modus zu wechseln, muss man schon alles angeben. Und wenn man das macht, wird Firefox pingelig. Da ist das nix mehr mit Kompatibilitätsmodus.


    Zitat von Bruno Scharnberg

    Der Internet Explorer (IE 7.0) zeigt alles richtig an, Layout und Navigation.


    Das ist kein Zeichen dafür, dass etwas richtig ist. IE ist und bleibt auch in Version 7 der Browser mit der Renderengine die die meisten Fehler hat und die wenigsten standardisierten Elemente unterstützt.

    Zitat von Bruno Scharnberg

    Kann jemand helfen?


    Firefox wird auf eine Anweisung innerhalb des Javascripts allergisch reagieren. Sobald er sich im Standardmodus befindet, wird er auch was Javascript angeht pingelig (IE kann ja nicht mal richtiges Javascript, der macht da immer noch was er will). Und ich muss dich leider enttäuschen durch so ein Script wühle ich mich nicht in meiner Freizeit durch:
    http://www.ggt-online.de/msc/menu/popupmo.js

    Was ich sehr schade finde: zwar ein CSS-Layout, aber ein Javascript-Menu. CSS-Layouts sind dafür gedacht, dass auch Browser die kein CSS unterstützen, wenigstens eine normale HTML-Seite darstellen können (Handy-Browser/Text-Browser/Blinden-Browser/usw). Und die Browser die kein CSS können, können in der Regel auch kein Javascript. Also fehlt in Deiner Seite ein Menu, die Seite wird nicht navigierbar, der Sinn des CSS-Layouts geht komplett verloren.

  • Bäh. Den Fehler mach ich doch immer wieder.

    Und jo, klar hat der Firefox einen Quirksmodus. Sonst würden 95% der Seiten weltweit nicht darstellbar sein. Schliesslich hält sich die Mehrheit (teils aus Unwissenheit, teils aus Ignoranz) nicht daran. Womit Firefox eine Seite rendert kann man auch über die "Seiteninformationen" erfahren. Das Forum hier wird z.B. auch im "Kompatibilitätsmodus (Quirks)" dargestellt.

    http://de.wikipedia.org/wiki/Quirks-Modus (vor allem das verlinkte Zeug)
    http://www.quirksmode.org/css/quirksmode.html

  • Das Problem liegt am Doctype, nicht an HTML oder XHTML.

    (Hm, leider werden die Doctypes bei mir nicht richtig angezeigt).

    Code
    <doctype>


    Das ist eine ungültige Angabe, da es beim Doctype auf Groß- und Kleinschreibung ankommt.

    Code
    <DOCTYPE>


    Damit geht der Browser aber noch immer in seinen Quirksmodus (in dem er Fehler zulässt). Mit Angabe der DTD-Adresse beim W3C:

    Code
    <DOCTYPE>


    geht der Browser in des Fast-standard-kompatiblen-Modus, egal ob bei HTML oder XHTML.

    Bei XHTML kannst du das Dokument im vollkompatiblen Modus verarbeiten lassen, wenn du es mit einem XML MIMETyp (application/xhtml+xml) an den Browser sendest.
    Dann schließt zu allerdings den IE und einige Textbrowser aus.

    Alternativ wäre die HTML Variante Strict, die immer im Vollkompatiblen Modus verarbeitet wird.

    Nebenbei nochmal: Wenn du XHTML ohne XML MIMETyp versendest werden sie vom browser als HTML verarbeitet, d.h. es liegt nicht an HTML oder XHTML wie das Design aussieht.

    Ich kann meinem Vorredner nur zustimmen. Eine CSS Navigation wäre besser als eine JS Navigation.

    Zitat

    Der Internet Explorer (IE 7.0) zeigt alles richtig an, Layout und Navigation.


    Bittebittebitte merken. Man sollte mit dem Firefox testen, während man eine Webseite schreibt (oder mit Opera/Safari), dann sieht die Seite zumindest in diesen browsern gut aus. Erst der IE benötigt immer wieder Extrawürste um eine Seite richtig anzuzeigen.

    Zum Firefox Quirks Mode:
    Firefox hat insgesamt sogar drei Modi:

    • Den voll standard-kopatiblen,
    • den fast standard-kopatiblen und natürlich
    • den Kompatibilitätsmodus für die Webseiten der Unfähigen Autoren.

    Auf David Hammonds Webseite erfährt man genau, wann welcher Browser in welchen Modus versetzt wird.

  • Zitat von Fxler


    Zum Firefox Quirks Mode:
    Firefox hat insgesamt sogar drei Modi:

    • Den voll standard-kopatiblen,
    • den fast standard-kopatiblen und natürlich
    • den Kompatibilitätsmodus für die Webseiten der Unfähigen Autoren.


    [Blockierte Grafik: http://www.cdv-forum.de/cdvboard/deutsch/images/smilies/vschwoer.gif]

    Man beachte:

    [Blockierte Grafik: http://www.estartunet.de/download/seiteninfo-FFForum.jpg]

    Nichts für ungut [Blockierte Grafik: http://forum.perry-rhodan.net/style_emoticons/default/innocent.gif]

    Mike

    [Blockierte Grafik: http://firefox.czapura.de/gruss2.png]
    Win XP Home SP3, CPU: Pentium 4, 2,6 GHz, Dual Core, 1 GB RAM
    Mozilla/5.0 (Windows NT 5.1; rv:22.0) Gecko/20100101 Firefox/22.0
    Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
    Meine Add-Ons

  • Hi an alle,

    zuerst einmal vielen Dank, dass Ihr Euch so ausführlich mit meinem Problem beschäftigt habt.
    An bugcatcher: Ich denke auch, dass der FF wohl eine der Javascript Anweisungen nicht mag und ich kann Dich auch sehr gut verstehen, dass Du Dich damit nicht beschäftigen willst - obwohl es für mein Problem natürlich schade ist - denn das ist trotz aller Ratschläge immer noch nicht gelöst.

    Kann mir jemand einen Tipp geben, wo ich ein gutes und einfach zu verstehendes ;) vertikales CSS Layout finde? Ich hatte mich früher schon für das Javascipt Menu entschieden, weil es so schön einfach ist, in der Gestaltung sehr variabel und einige interessante Feature hat wie z.B. automatisches Scrolling, das andere Menus eben nicht haben. Aber vielleicht sollte ich ab und zu auch mal flexibel sein und von alten Gewohnheiten Abschied nehmen.