Sabine: DOCTYPE-Probleme bei Mozilla 1.0 / Netscape 6.2

Hallo!

Bis vor 2 Minuten dachte ich noch, ich sei endgültig urlaubsreif ... Hab einige Skripts mal auf die Schnelle getestet - klappt alles wunderbar, formuliere alles aus - und Pustekuchen, nix wars's.

Zur etwas detaillierteren Erläuterung: z.B. in Netscape 6.2: Habe eine Funktion in Javascript drinnen mit der ich einen Layer verschiebe. Klappte alles wunderbar bis ich (wie ich jetzt bemerkt habe) die Doctype-Angabe dazugegeben habe. Hatte zuer XHTML 1.0 Strict, habs jetzt mit anderen versucht - vergeblich: nur wenn ich den Doctype ganz weg lasse, funktionierts.

Und dann war da noch der Mozilla 1.0: Ich habe ein stylesheet mit <link rel="stylesheet" href="datei.php" type="text/css"> eingebunden - auch das klappt so lange wunderbar, wie kein Doctype drinnen ist. Sobald ich einen setze, keine Spur mehr von meinem css.

Hat jemand von euch mit diesen Problemen schon Erfahrung gemacht? Mir war das bis dato unbekannt. Liegt das wirklich an den Browsern oder habe ich möglicherweise doch einen Fehler drinnen? (Habe die Skripts mit dem W3C-Validator gecheckt - und er meinte Congratulations)

Eine etwas verdutzte Sabine ob dem bis dato für mich unbekannten Problem...

  1. Hallo Sabine,

    bei der Verwendung von Doctype-Angaben schalten Mozilla/Netscape6+ (IE6 übrigens auch) in den sogenannten standards-compliant Mode. Wenn eine Seite mit Doctype anders aussieht als ohne, dann ist erstere Anzeige-Varianten (mit Doctype) mit an Sicherheit grenzender Wahrscheinlichkeit die "richtige" Variante.

    Zu Deinem ersten Problem:
    Da ich kein Javascript/DHTML-Experte bin, kann ich dazu leider nichts sagen.

    Zu Deinem zweiten Problem:

    Habe die Skripts mit dem W3C-Validator gecheckt - und er meinte Congratulations

    Hast Du auch Deine "CSS"-Datei mit dem CSS-Validator geprüft?
    http://jigsaw.w3.org/css-validator/
    Ich befürchte nämlich, daß da eine Meldung à la "invalid Mime-Type" kommt. Mozilla verlangt bei angegebenem Doctype nach dem korrekten Mime-Type der externen CSS-Ressource (text/css, muß auf dem Server eingestellt werden), sonst ignoriert er das Stylesheet.

    Viele Grüße
    Carsten

    1. Hallo,

      Ich befürchte nämlich, daß da eine Meldung à la "invalid Mime-Type" kommt. Mozilla verlangt bei angegebenem Doctype nach dem korrekten Mime-Type der externen CSS-Ressource (text/css, muß auf dem Server eingestellt werden), sonst ignoriert er das Stylesheet.

      Ich vermute mal stark, dass Sabine auch die JavaScripts ausgelagert hat, und da auch die falsche Mime-Type hat oder keine Mimetype-Angabe im Script-Tag.

      also:
      1. Ausgelagerte Stylesheets (wie Carsten schon gesagt hat) müssen mit dem Mime-Type text/css vom Server kommen.
      2. Style-Tags müssen _immer_ so aussehen:
      <style type="text/css"> ... </style>
      3. Ausgelagerte JavaScripts müssen immer mit dem Mime-Type text/javascript vom Server kommen.
      5. Script-Tags müssen _immer_ so aussehen:
      <script type="text/javascript"> ... </script>

      Wenn's dann immer noch nicht klappt, kann ich mir es nicht erklären.

      Grüße,

      Christian

      1. Hallo!

        Ich befürchte nämlich, daß da eine Meldung à la "invalid Mime-Type" kommt. Mozilla verlangt bei angegebenem Doctype nach dem korrekten Mime-Type der externen CSS-Ressource (text/css, muß auf dem Server eingestellt werden), sonst ignoriert er das Stylesheet.

        Ich vermute mal stark, dass Sabine auch die JavaScripts ausgelagert hat, und da auch die falsche Mime-Type hat oder keine Mimetype-Angabe im Script-Tag.

        Herzichen Dank! Ich vermute, ihr habt Recht, hab nun gerade mal testhalber meine *externe* Stylesheet-datei als include eingefügt und in der Datei die style-Tags mit dem Mime-Type angegeben ... und siehe da, Mozilla mag mich! Mit Netscape und Javascript hab ichs noch nicht versucht, aber ich denk mal auch hier wird es so sein.

        Nun, das abzuändern sollte ja nicht das Problem sein, aber mich würde doch die serverseitige Lösung interessieren. Wie und wo kann man auf dem Server die Mime-Typen einstellen? ... Und: warum genügt es bei "internen" Angaben z.B. <style type="text/css"> zu schreiben und bei externen akzeptiert er <style rel="stylesheet" href="irgendwas.php" type="text/css"> nicht?

        Danke und guts Nächtle!
        Sabine

        1. hi

          <style rel="stylesheet" href="irgendwas.php" type="text/css"> nicht?

          eeeeeeks...
          <link rel="stylesheet" href="irgendwas.php" type="text/css">

          ...frisst der IE das andere etwa auch noch..?!

          Grüße aus Bleckede

          Kai

          1. Hallo Kai!

            eeeeeeks...
            <link rel="stylesheet" href="irgendwas.php" type="text/css" />

            vorher vergessen        ^

            ...frisst der IE das andere etwa auch noch..?!

            Warum nicht? Opera tuts auch und Netscape 6.2 ebenso ...

            Liebe Grüße
            Sabine

            Grüße aus Bleckede

            Kai

            1. Hi Sabine

              <style rel="stylesheet" href="irgendwas.php" type="text/css">

              <link rel="stylesheet" href="irgendwas.php" type="text/css" />

              ...frisst der IE das andere etwa auch noch..?!

              Warum nicht?

              Weil's falsch ist.

              http://selfhtml.teamone.de/css/formate/einbinden.htm#separat

              Opera tuts auch und Netscape 6.2 ebenso ...

              Opera tut's nicht, Netscape 6.1 auch nicht. Recht haben sie ;)

              LG Orlando

              --
              SELF-TREFFEN 2002
              http://www.rtbg.de/selftreffen/
              http://www.megpalffy.org/temp/penneninhh.html

              1. Hi Sabine

                <style rel="stylesheet" href="irgendwas.php" type="text/css">

                Hallo Orlando!

                <link rel="stylesheet" href="irgendwas.php" type="text/css" />

                ...frisst der IE das andere etwa auch noch..?!

                Warum nicht?

                Weil's falsch ist.

                :) Ja, habs jetzt dank Kais Posting auch gesehen. Sorry -ich hatte mich vertippt und habs so wie oben referenziert.

                lg
                Sabine

            2. »hi

              ...frisst der IE das andere etwa auch noch..?!
              Warum nicht? Opera tuts auch und Netscape 6.2 ebenso ...

              ich meinte jetzt das mit <style rel=""...>, aber das war wohl eh nur ein Tippo..

              Grüße aus Bleckede

              Kai

              1. Hallo!

                ...frisst der IE das andere etwa auch noch..?!
                Warum nicht? Opera tuts auch und Netscape 6.2 ebenso ...

                ich meinte jetzt das mit <style rel=""...>, aber das war wohl eh nur ein Tippo..

                Ach ja - bin ich ne blinde Nuss, ja da hab ich mich vertippt. Sorry

                Grüße
                Sabine

                Grüße aus Bleckede

                Kai

        2. Moin!

          Nun, das abzuändern sollte ja nicht das Problem sein, aber mich würde doch die serverseitige Lösung interessieren. Wie und wo kann man auf dem Server die Mime-Typen einstellen? ... Und: warum genügt es bei "internen" Angaben z.B. <style type="text/css"> zu schreiben und bei externen akzeptiert er <style rel="stylesheet" href="irgendwas.php" type="text/css"> nicht?

          In HTTP-World vertraut ein Browser dem Server mehr als irgendwem anders, wenn es darum geht, den Content-type eines Dokuments festzustellen. Deswegen werden alle Browser (ausser natuerlich dem schwulen IE, der von HTTP nicht sehr viel versteht) nur dann auf alternative Informationen zurueckgreifen, wenn der Server diese aus irgendeinem Grund nicht liefert. Ein Problem sind dann natuerlich falsch-konfigurierte Server, die es im grossen und ganzen jedoch meist auf einen eher unfaehigen Admin schliessen lassen, der dann dementsprechend seine standrechtliche Erschiessung nur noch abwenden kann, wenn er die Fehlkonfiguration nach Bekanntmachung *ganz* *schnell* korrigiert.

          Ob Dein Server wirklich falsch konfiguriert ist, ist bisher ja nur eine Vermutung. Wuerdest Du uns die URLs einer CSS- und einer JS-Datei geben, koennte man das aber ganz schnell herausfinden.

          Wie der richtige Type eingestellt wird, haengt natuerlich von der verwendeten Server-Software ab. Beim Apachen notiert man in der httpd.conf oder einer zustaendigen .htaccess (Berechtigung dazu vorausgesetzt) die Zeilen
            AddType text/css .css
            AddType text/javascript .js

          Fuer JS muesste sich ein Browser imho aber auch mit application/x-javascript zufrieden geben, da text/javascript offenbar noch gar nicht offiziell registriert ist (http://www.iana.org/assignments/media-types/text/). Andererseits ist meines Wissens der einzige Browser, der auf application/x-javascript *besteht*, Netscape 3. Die anderen hoeren (auch) auf text/javascript.

          HTH && So long

          --
          Hier ist gut und da ist böse - fast so wie bei Karl May
              -- Rodgau Monotones 1980

          1. Hi Calocybe!

            Wie der richtige Type eingestellt wird, haengt natuerlich von der verwendeten Server-Software ab. Beim Apachen notiert man in der httpd.conf oder einer zustaendigen .htaccess (Berechtigung dazu vorausgesetzt) die Zeilen
              AddType text/css .css
              AddType text/javascript .js

            Herzlichen Dank - jetzt hab ich's. Zumindest mit der .css-Datei funktioniert es nun erfolgreich!! Herzlichen Dank und liebe Grüße
            Sabine

  2. Hi,

    Und dann war da noch der Mozilla 1.0: Ich habe ein stylesheet mit <link rel="stylesheet" href="datei.php" type="text/css"> eingebunden - auch das klappt so lange wunderbar, wie kein Doctype drinnen ist. Sobald ich einen setze, keine Spur mehr von meinem css.

    da Du XHTML verwendest:
    Bei leeren Tags nicht den Slash am Ende vergessen!
    <link rel="stylesheet" href="datei.php" type="text/css" />

    Schönen Gruß aus Bilk

    Rainer

    1. Hallo Rainer!

      da Du XHTML verwendest:
      Bei leeren Tags nicht den Slash am Ende vergessen!
      <link rel="stylesheet" href="datei.php" type="text/css" />

      Danke für den Tipp, das hatte ich gemacht.

      lg
      Sabine

      Schönen Gruß aus Bilk

      Rainer