bueli: netscape/externe stylesheets

Meine Browserabfrage arbeitet einwandfrei, aber wenn ich Netscape(4) benutze, werden keine Links angezeigt. Erkennt Netscape keine externen Stylesheets?

Browserabfrage:

<script language="JavaScript">
<!--
function checkBrowser()
{
    if (navigator.appName.indexOf('Microsoft') != -1)
    {
  document.write("<link rel='STYLESHEET' href='ie.css' type='text/css'>");
    }
    else if (navigator.appName.indexOf('Netscape') != -1)
    {
  document.write("<link rel='STYLESHEET' href='netscape.css' type='text/css'>");

}
    else
    {
  alert("This website is not optimized for your browser. Please use Internet Explorer or Netscape Navigator! ");
    }
}

im externes Stylesheet steht:

a:link {border:none;color:white;text-decoration:none;}

Danke und Gruß
bueli

  1. Meine Browserabfrage arbeitet einwandfrei, aber wenn ich Netscape(4) benutze, werden keine Links angezeigt. Erkennt Netscape keine externen Stylesheets?

    Browserabfrage:

    <script language="JavaScript">
    <!--
    function checkBrowser()
    {
        if (navigator.appName.indexOf('Microsoft') != -1)
        {
      document.write("<link rel='STYLESHEET' href='ie.css' type='text/css'>");
        }
        else if (navigator.appName.indexOf('Netscape') != -1)
        {
      document.write("<link rel='STYLESHEET' href='netscape.css' type='text/css'>");

    }
        else
        {
      alert("This website is not optimized for your browser. Please use Internet Explorer or Netscape Navigator! ");

    AHHH, was's das für 'n Quatsch?
    CSS ist eigentlich dafür da, das du Inhalt und Layout trennen kannst, folglich sollten CSS unfähige Browser auch die Seiten (bzw. deren Inhalt) anzeigen können. Was du da machst ist Nötigung (es gibt einiges mehr ausser Netscape und IE ich hab hier deren fünf Browser installiert).

    Was du machen kannst, ist

    Mit :
    if (document.layer)
    document.write("<link rel='STYLESHEET' href='netscape.css' type='text/css'>");

    NC 4.x CSS einzubinden und alle anderen Stylesheets mit:
    <link rel='STYLESHEET' href='netscape.css' type='text/css' media="all">

    vor NC 4.x verstecken.

    Struppi.

    1. NC 4.x CSS einzubinden und alle anderen Stylesheets mit:
      <link rel='STYLESHEET' href='netscape.css' type='text/css' media="all">

      muss leider ie.css heissen, aber style_1.css oder main.css wäre besser.

      Struppi.

      P.S. deine erste Variante, wird vermutlich bei Browsern ohne JS zu erschreckenden  Ergebnissen führen.

      1. Danke für dein tipp, aber trotzdem bleibt netscape.css unbeachtet und netscape zeigt alles ohne cssformatierung an.
        if (document.layer) wird gar nicht erst nicht durchlaufen.

        1. Hallo Bueli,

          if (document.layer) wird gar nicht erst nicht durchlaufen.

          Es muß
          if (document.layers)
          heißen.

          Grüße
          Andreas

  2. Hi,

    Meine Browserabfrage arbeitet einwandfrei

    nein, das tut sie nicht, sie erkennt maximal zwei Browser von geschätzten 100, außerdem funktioniert sie nur mit aktiviertem Javascript, was nochmals einen großen Teil deiner Besucher ausschließt. Wenn eine Seite in anderen Browsern nicht funktioniert, liegt das meist an falschem Code, über den man sich zuerst Gedanken machen sollte. Ist eine Browserweiche tatsächlich mal notwendig (und das ist sie nur, weil Netscape 4 bei CSS total versagt, der M$IE bei sehr vielem), dann verwende eine CSS-Weiche (logisch, nicht?):

    http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/

    Mit Javascript CSS auszuliefern ist Unsinn, da unzuverlässig. Ausschließlich um Netscape 4 zu erkennen ist es legitim, denn ohne Javascript kann er kein CSS (bzw. JSSS).

    LG Roland

    1. Hallo Roland,

      .. Ist eine Browserweiche tatsächlich mal notwendig (und das ist sie nur, weil Netscape 4 bei CSS total versagt

      das ist so nicht ganz richtig, ich hoffe ich kann dir schnell mal ein
      Beispiel zeigen (oder was wie schon erwähnt drüber schreiben), wobei
      natürlich ein gewisser Aufwand nötig ist, Netscape 4 zu bedienen,
      dieser Aufwand lohnt sich aber meist für rund zehn Prozent der Besucher.
      Ich gehe halt davon aus dass oft der Inhalt bei tableless-layout ohne
      CSS zu unstrukturiert ist als dass man tatsächlich von vernünftig
      zugänglichem Inhalt reden könnte. Mag sein dass z.B. deine Seite da
      gutmütig ist (der Thread/Drift über deine Seite ist ja gerade im Archiv
      entschwunden), aber da lassen sich m.E. -habe aber nicht alle Details
      geprüft- die Probleme lösen, sofern natürlich der Aufwand zumutbar ist.

      Grüsse

      Cyx23

      1. Hi Cyx23,

        .. Ist eine Browserweiche tatsächlich mal notwendig (und das ist sie nur, weil Netscape 4 bei CSS total versagt

        das ist so nicht ganz richtig, ich hoffe ich kann dir schnell mal ein
        Beispiel zeigen (oder was wie schon erwähnt drüber schreiben), wobei
        natürlich ein gewisser Aufwand nötig ist, Netscape 4 zu bedienen,
        dieser Aufwand lohnt sich aber meist für rund zehn Prozent der Besucher.

        Das streite ich nicht ab, läuft aber darauf hinaus, dass man drei Layouts erstellen muss. Eines für moderne Browser, mit denen man CSS ausreizen kann, eines für den M$IE, weil er doch recht wenig kann und eines für Netscape 4, will man nicht, dass alles auseinanderfällt. Ich sage nicht, dass er *gar kein* Layout bekommen soll, nur lässt sich eben bei weitem nicht alles realisieren, was mit CSS möglich wäre. Auch lassen sich diese drei Varianten recht einfach durch den Einsatz von Selektoren realisieren.

        Ich gehe halt davon aus dass oft der Inhalt bei tableless-layout ohne
        CSS zu unstrukturiert ist als dass man tatsächlich von vernünftig
        zugänglichem Inhalt reden könnte.

        Ein interessanter Aspekt, ich empfinde HTML pur nicht als unzugänglich, da logisches Markup durchaus Formatierungen enthält. Zweifellos kann ein Layout den Lesefluss unterstützen, das Auge isst bekanntlich mit, zwingend notwendig ist es IMHO aber nicht. Aber du hast durchaus Recht: Bei schweren Formen des Analphabetismus ist selbst der Einsatz von Flash gerechtfertigt, um Barrieren abzubauen >;)

        Mag sein dass z.B. deine Seite da gutmütig ist

        Sie ist "nur" logisch strukturiert, der Rest ergibt sich dann von selbst.

        (der Thread/Drift über deine Seite ist ja gerade im Archiv
        entschwunden), aber da lassen sich m.E. -habe aber nicht alle Details
        geprüft- die Probleme lösen, sofern natürlich der Aufwand zumutbar ist.

        Ich arbeite daran :) Wunder sind allerdings keine zu erwarten, nur funktionieren und halbwegs nett aussehen muss es.

        LG Roland

        1. Hallo Roland,

          Auch lassen sich diese drei Varianten recht einfach durch den Einsatz von Selektoren realisieren.

          da sehe ich das Beispiel Opera 7 und Mozilla 1.x, etwa die
          unterschiedlichen Listen.

          Ein interessanter Aspekt, ich empfinde HTML pur nicht als unzugänglich, da logisches Markup durchaus Formatierungen enthält. Zweifellos kann ein Layout den Lesefluss unterstützen, das Auge isst bekanntlich mit, zwingend notwendig ist es IMHO aber nicht.

          Ich habe hier immer den Eindruck dass unterstellt wird, nur
          Text wäre Inhalt, eine Flashanimation nicht.
          Jetzt stell dir mal von Morgenstern das Gedicht 'Die Trichter'
          ohne Form vor, es klappt nicht. Geht zwar per pre oder
          center und br, aber prinzipiell ist es ein gutes Beispiel
          für den hier oft anzutreffenden Irrtum grundsätzlich Form von
          Inhalt trennen zu können.

          Das geht natürlich weiter bis zu Seiten mit Text und Bild,
          wo eine klare Beziehung besteht. Da sollte also eher in der Not
          die Auflösung des Bildschirms als die Textgrösse verändert werden,
          zumal skalierte Bilder, wär ja die Alternative, zuviel Verluste
          bekommen.

          Grüsse

          Cyx23

          1. Hallo!

            Ich habe hier immer den Eindruck dass unterstellt wird, nur
            Text wäre Inhalt, eine Flashanimation nicht.

            Das nicht unbedingt, aber Flashanimationen haben selten tatsächlich
            relevanten Inhalt.

            Jetzt stell dir mal von Morgenstern das Gedicht 'Die Trichter'
            ohne Form vor, es klappt nicht.

            Konkrete Poesie ist aber meiner Meinung nach ein ziemlich an den
            Haaren herbeigezogenes Beispiel. Natürlich wird es immer solche Fälle
            geben, ganz einfach, weil konkrete Poesie die Grenzen eines anderen
            Mediums, nämlich des Buches, auslotet. Allerdings hat es meiner Meinung
            nach auch weniger mit Text, als vielmehr mit Grafik zu tun, ein klas-
            sischer Grenzfall, der aber keinerlei Rolle spielt, Ausnahmen bestä-
            tigen ja bekanntermaßen die Regel.

            Geht zwar per pre oder center und br

            Mit Fisches Nachtgesang wird das nahezu unmöglich. Oder hat Unicode
            Zeichen für lange und kurze Silben? (Ähnliche Zeichen gelten hier
            nicht, deswegen sind auch die Fassungen im Internet Blödsinn.)

            emu
            [...]

          2. Hi Cyx23,

            Auch lassen sich diese drei Varianten recht einfach durch den Einsatz von Selektoren realisieren.

            da sehe ich das Beispiel Opera 7 und Mozilla 1.x, etwa die
            unterschiedlichen Listen.

            kein Problem:

            html[lang] li {
              /* ausschließlich für Opera */
            }

            html:root li {
              /* ausschließlich für Mozilla */
            }

            Das funktioniert bestens. Herz, was willst du mehr? Aber nochmal: Es muss eigentlich egal sein, wie weit Listenpunkte eingerückt werden, da pixelgenaues Zementieren grundsätzlich nicht funktioniert.

            Ich habe hier immer den Eindruck dass unterstellt wird, nur
            Text wäre Inhalt, eine Flashanimation nicht.

            Es gibt viele Hobbyknipser, aber nur wenige gute Fotografen. Bei Flash ist die Relation noch schlechter, aber es ist nicht an sich *pöse* (mal abgesehen davon, dass es proprietär ist). Wäre ich gegen Vektorgrafiken, müsste ich SVG ebenso verteufeln, doch das Gegenteil ist der Fall. Ich hoffe nur, dass mir die Netzmeister nicht auch noch diesen Nerv ziehen.

            Jetzt stell dir mal von Morgenstern das Gedicht 'Die Trichter'
            ohne Form vor, es klappt nicht.

            Weil die Form Teil des Inhalts ist, das gilt aber nicht uneingeschränkt für 'herkömmliche' Publikationen im Internet.

            [...]den hier oft anzutreffenden Irrtum grundsätzlich Form von
            Inhalt trennen zu können. [...]

            Wäre das tatsächlich meine Meinung, sähe meine Bastelseite nicht so aus, wie im Moment.

            LG Roland

            1. hi Orlando,

              html:root li {
                /* ausschließlich für Mozilla */
              }

              Was ist denn das? Spezieller Mozilla-Code (ala moz-filter oder wie der Krams heisst) oder eine Pseudo-Klasse, die ich noch nicht kenne? Kann man das auch noch wo anders ausser beim <html>-Element verwenden? In SelfHTML steht nix dazu.

              schöne Grüsse + schö

              stefan

              1. Hallo, was ist ":root"?, ähm, Stefan,

                html:root li {
                  /* ausschließlich für Mozilla */
                }

                Was ist denn das? Spezieller Mozilla-Code

                Jein. Es wird künftiger Standard werden.

                (ala moz-filter oder wie der Krams heisst)

                Meines Wissens sind die meisten -moz-Eigenschaften auch an W3C-CSS-Standard angelehnt.

                oder eine Pseudo-Klasse, die ich noch nicht kenne?

                Ja, siehe http://www.w3.org/TR/css3-selectors/#root-pseudo.

                Kann man das auch noch wo anders ausser beim <html>-Element verwenden?

                In jedem XML-Dokument in der Regel nur einmal, da das Wurzelelement nunmal nur einmal im Dokument vorkommen darf. :root wird immer das einzige vorhandene Wurzelelement auswählen, h1:root in HTML würde beispielsweise zu nichts führen, da das Wurzelelement html lautet.

                Mit CSS3 habe ich mich noch nicht allzu sehr auseinandergesetzt, deshalb weiß ich nicht, wie es mit Wurzelelementen aus anderen Namespaces aussieht. Ich meine irgendetwas darüber gelesen zu haben, habe es aber wieder vergessen. Theoretisch kann es durchaus mehrere Wurzelelemente verschiedener Sprachen in einem XHTML-Dokument geben, welche per CSS formatiert werden könnten. Meines Wissens nach.

                In SelfHTML steht nix dazu.

                Ist ultrakrassneue CSS3-Syntax. Das Selectors-Modul ist gerade erst Candidate Recommendation geworden, Mozilla kann es jedoch schon.

                Grüße,
                Mathias

                --
                Mein Leben, ein Leben ist es kaum, / Ich gehe dahin als wie im Traum.
                Wie Schatten huschen die Mensch hin, / Ein Schatten dazwischen ich selber bin.
                Und im Herzen tiefe Müdigkeit - / Alles sagt mir: Es ist Zeit ...
                (Theodor Fontane, Mein Leben)
                1. hi molily,

                  Hallo, was ist ":root"?, ähm, Stefan,

                  Oops, da war wohl ein Teufelchen bei mir in der Leitung. 'Vorschau generieren' scheint nicht zu Unrecht mein dritter Vorname (gleich nach 'stefan' und 'was ist ":root"?') zu sein.

                  Meines Wissens sind die meisten -moz-Eigenschaften auch an W3C-CSS-Standard angelehnt.

                  Solange die noch nicht die Weltherrschaft haben, dürfen die sowas meiner Meinung nach sowieso. Problematisch wirds ja erst, wenn man (noch-)nicht-Standard-Code verwenden _muss_ um Seiten darstellbar zu machen. Ich hab ja auch nix gegen MS-Filter (ausser das viele beeindruckend hässlich sind), solange sich Inhalt und Design nicht auf diese stützen, sondern sie nur als Feature[tm] benutzen.

                  Ja, siehe http://www.w3.org/TR/css3-selectors/#root-pseudo.

                  Dankeschön. Hab schon angefangen zu lesen :)

                  In jedem XML-Dokument in der Regel nur einmal, da das Wurzelelement nunmal nur einmal im Dokument vorkommen darf.

                  Ach XML! Darüber weiss ich ja leider noch so gut wie garnichts (ausser ein bisschen Code-Schnüffeln).

                  Mit CSS3 habe ich mich noch nicht allzu sehr auseinandergesetzt,

                  Ich auch nicht. Soll halt konsequenter als CSS2 sein.

                  Theoretisch kann es durchaus mehrere Wurzelelemente verschiedener Sprachen in einem XHTML-Dokument geben, welche per CSS formatiert werden könnten. Meines Wissens nach.

                  Ich weiss über XML und XHTML wirklich viel zu wenig, um dazu gross was sagen zu können.

                  Ist ultrakrassneue CSS3-Syntax. Das Selectors-Modul ist gerade erst Candidate Recommendation geworden, Mozilla kann es jedoch schon.

                  KraZZ, Digga'! Voll neu, die Syntax!! ;)

                  vielen Dank fürs Erklären,
                  schö
                  stefan

                  -- Mit dem Kopf gegen die Wand schlagen verbraucht 150 Kalorien pro Stunde.