Stefan: Browserweiche: Nur Netscape 4.x auf andere HTML-Datei?

Hallo und guten Abend!

Ich bräuchte so etwas. Halten Sie es für möglich, dass man das ohne die Auflistung der ganzen MIME-Typen realisieren kann?

So auf die Art:
Dieser MIME-Type (Netscape 4.x) kommt auf die Datei "netscape.htm", alle anderen Browser werden zur Datei "ie.htm" umgeleitet.

Stefan

  1. Hallo Stefan,

    Halten Sie es für möglich,

    Ich hoffe du hast nichts dagegen, wenn ich dich - wie im Internet üblich - duze.

    dass man das ohne die Auflistung der ganzen MIME-Typen realisieren kann?

    ähh... für was willst du wo und welche MIME-Typen auflisten?

    Dieser MIME-Type (Netscape 4.x)

    "Netscape 4.x" ist kein Mime-Type, sondern eine Browserkennung (zumindest ein Teil davon). Verwechselst du vielleicht http://selfhtml.teamone.de/diverses/mimetypen.htm mit http://selfhtml.teamone.de/diverses/clients.htm?

    kommt auf die Datei "netscape.htm",

    _Theoretisch_ könntest du schauen, was ob in $_SERVER["HTTP_USER_AGENT"] was von ns4 drinsteht, und wenn ja, wieder auf die Seite netscape.htm weiterleiten. _Praktisch_ wird das aber nicht funktionieren, da du nicht davon ausgehen kannst, dass sich ein Browser wirklich als das ausgibt, was er ist (oder dass er überhaupt irgendeine Browserkennung liefert).
    Aber für was brauchst du das überhaupt? Vielleicht lässt sich das auch anders lösen.

    alle anderen Browser werden zur Datei "ie.htm" umgeleitet.

    es gibt noch mehr Browser als Netscape und IE...

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Aber für was brauchst du das überhaupt? Vielleicht lässt sich das auch anders lösen.

      alle anderen Browser werden zur Datei "ie.htm" umgeleitet.
      es gibt noch mehr Browser als Netscape und IE...

      Grüße aus Nürnberg
      Tobias

      Hallo Tobias,

      ich brauche das deswegen, weil meine Seite zu allen Browser

      --> mit Ausnahme von Netscape 4.x <--

      kompatibel ist.

      Also erstellte ich auch eine Seite für Netscape 4. Es gibt nun also zwei Versionen meiner Site.

      Nun bräuchte ich eine Browserabfrage (PHP), die

      --> alle bis auf Netscape 4.x (wirklich nur die 4er-Versionen) <--

      auf meine Datei "ie.htm" lenkt, und die, welche mit besagtem Netscape surfen, auf die Datei "netscape.htm" weiterleitet.

      Sorry, wenn ich MIME-Typen und Browserkennung vermixt hab.

      Gruß aus Bensheim,

      Stefan

      1. hi,

        ich brauche das deswegen, weil meine Seite zu allen Browser
        --> mit Ausnahme von Netscape 4.x <--
        kompatibel ist.

        in wie fern?

        wenn es nur daran liegt, das der NS4 sich an "fortschrittlichem" CSS verschluckt, kannst du ihm dieses auch ganz (oder teilweise, wenn du zwei seperate css-dateien machst) vorenthalten, in dem du es über @import einbindest, siehe http://selfhtml.teamone.de/css/formate/einbinden.htm#link_media.

        gruss,
        wahsaga

      2. Hallo Stefan,

        ich brauche das deswegen, weil meine Seite zu allen Browser

        was verstehst du denn unter allen Browsern? Meinst du wirklich nicht nur Opera/IE/Mozilla, sondern auch Useragents wie Textbrowser oder Suchmaschinen?

        --> mit Ausnahme von Netscape 4.x <--
        kompatibel ist.

        inwiefern nicht kompatibel? Liegt es vielleicht am css das ns4 nicht versteht? Das Problem lässt sich mit Hilfe von http://aktuell.de.selfhtml.org/tippstricks/css/browserweiche/ vermutlich lösen.

        Also erstellte ich auch eine Seite für Netscape 4. Es gibt nun also zwei Versionen meiner Site.

        Das ist imho schlecht - so musst du immer zwei Versionen pflegen. Es sollte nicht allzuschwer sein (ich kenn deine Seite ja nicht), die Seite so zu gestallten, dass Netscape4 die Seite auch mag.

        Nun bräuchte ich eine Browserabfrage (PHP), die
        --> alle bis auf Netscape 4.x (wirklich nur die 4er-Versionen) <--

        du könntest die gennante Variable untersuchen, aber raten würde ich es dir nicht.

        Sorry, wenn ich MIME-Typen und Browserkennung vermixt hab.

        macht nichts, kann ja mal passieren :-)

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. Also erstellte ich auch eine Seite für Netscape 4. Es gibt nun also zwei Versionen meiner Site.
          Das ist imho schlecht - so musst du immer zwei Versionen pflegen. Es sollte nicht allzuschwer sein (ich kenn deine Seite ja nicht), die Seite so zu gestallten, dass Netscape4 die Seite auch mag.

          Hallo Tobias,

          muß ich nicht, da ich den Text (der sich regelmäßig ändert) bei "ie.htm" und "netscape.htm" gleichermaßen include. Aus diesem Grund brauche ich nur eine Datei zu ändern, und diese wird dann von beiden Versionen übernommen.

          Die Netscape-Version hatte ich nach ein paar Stunden hingebastelt. Die "ie.htm" war die Vorlage. Durch (z.B.):

          <layer top="40" left="6" width="750">
               ...
          </layer>

          habe ich das schöne Design fast 100%ig nachbauen können!

          So, jetzt will ich weichen!*

          Stefan

          *Browserweichen

  2. Hi!

    Ich bräuchte so etwas. Halten Sie es für möglich, dass man das ohne die Auflistung der ganzen MIME-Typen realisieren kann?

    Serverseitig sähe das in etwa so aus:

    <?php
    // Netscape 4.x wird aussortiert
    $browserident = get_browser();
    $welcher = $browserident->browser;
    $version = $browserident->majorver;
    if ($welcher == 'Netscape' && $version <= 4)
    {
     $umleitung = "Location: http://www.domain.de/netscape.php;
     Header("$umleitung");
    }
    ?>

    (Man verzeihe mir den Einsatz diverser unnötiger Variablen ;) )

    Aber: get_browser muss

    1. aktiviert sein
    2. vom Admin aktuell gehalten werden

    Und:
    Ein Browser, der sich falsch identifiziert hat natürlich Pech gehabt und sieht die Netscape-Seite.
    Ist eigentlich hier nicht wirklich schlimm:

    1. Nur wer sich als netscape <=4 identifiziert wird umgeleitet.
    2. Die Seite ist bis aufs Design gleichwertig. (bei mir)

    Kommt jetzt also ein Opera, der halt gerade ein Netscape 4 sein will, bekommt er auch diese Seite. Pech gehabt, nicht dein Problem, der User wollte es ja so.

    Ensprechende CSS-Weichen, wie von meinen Vorrednern empfohlen haben diese Einschränkungen nicht, sie basieren auf Bugs in den jeweiligen Browsern.
    Ich ziehe dennoch die PHP-Variante vor, da mir ein *//***/*//-Gewulst im CSS-File ziemlich unschön vorkommt. - Geschmackssache

    dbenzhuser

    --
    sh:( fo:| ch:? rl:( br:$ n4:° ie:| mo:) va:) de:[ zu:) fl:( ss:| ls:[ js:(
    1. Hi,

      vielen Dank für die Lösung - habs zwar noch nicht ausprobiert, wird aber wohl funzen!

      Stefan :-)

    2. Hallo,

      Ensprechende CSS-Weichen, wie von meinen Vorrednern empfohlen haben diese Einschränkungen nicht, sie basieren auf Bugs in den jeweiligen Browsern.
      Ich ziehe dennoch die PHP-Variante vor, da mir ein *//***/*//-Gewulst im CSS-File ziemlich unschön vorkommt. - Geschmackssache

      besonders problematisch sind Weichen die auf Unfähigkeiten oder Bugs zukünftiger Browserversionen beruhen.

      /*/*//*/ ist immerhin valider Code der einen Kommentar einleitet, und Netscape 4, der ja nicht weiterentwickelt wird, merkt es nicht. Opera 5, da sieht man gleich die grundsätzliche Problematik, auch nicht, was aber durch Netscape 4 Syntax, z.B. der Verzicht auf Bindestriche, in den betr. Bereich abgemildert werden kann.
      Sinnvoll ist der Ansatz mit /*/*//*/ vor allem für kleinere Korrekturen, schließlich kann Netscape 4 meist das gleiche CSS vorgesetzt werden, und einzelne Angaben lassen sich per *-Selektor vor ihm verstecken. Da kann die Lösung in einem Stylesheet relativ kompakt und übersichtlich ausfallen.

      Eine Weiche per PHP scheint mir hier auch durchaus gut geeignet, allerdings da ja andere Browser noch ihre Problemchen haben -z.B- angesichts des Opera-Unfugs default als IE zu dazustehen- wird daraus wohl keine umfasendere Strategie. Und, vorsorglich sollte bei einer Abfrage des user-agent wohl noch strip_tags(..); erfolgen.

      Grüsse

      Cyx23

      1. hi,

        Und, vorsorglich sollte bei einer Abfrage des user-agent wohl noch strip_tags(..); erfolgen.

        aus welchen gründen erachtest du denn das für sinnvoll?

        gruss,
        wahsaga

      2. Eine Weiche per PHP scheint mir hier auch durchaus gut geeignet, allerdings da ja andere Browser noch ihre Problemchen haben -z.B- angesichts des Opera-Unfugs default als IE zu dazustehen- wird daraus wohl keine umfasendere Strategie. Und, vorsorglich sollte bei einer Abfrage des user-agent wohl noch strip_tags(..); erfolgen.

        Grüsse

        Cyx23

        Aber das macht doch in diesem Fall nix, da Opera ja zur selben Datei weitergeleitet werden soll wie der I.E.

        Gruß,
           Stefan

        1. Hallo,

          Eine Weiche per PHP scheint mir hier auch durchaus gut geeignet, allerdings da ja andere Browser noch ihre Problemchen haben -z.B- angesichts des Opera-Unfugs default als IE zu dazustehen- wird daraus wohl keine umfassendere Strategie.

          Aber das macht doch in diesem Fall nix, da Opera ja zur selben Datei weitergeleitet werden soll wie der I.E.

          wenn es hier konkret damit gut ist, klar. Es gibt genug Situationen mit unterschiedlicher CSS-Interpretation durch jeweils IE 5,5.5 6, Mozilla, Opera 6 vs. 7, Konqueror usw., die wie auch die durch Netscape 4 auftretenden Probleme mit CSS gelöst werden können; nicht immer optimal, aber oft einheitlicher. Eine Korrerktur beim CSS mit einheitlichem HTML ist womöglich nicht ganz so leistungsfähig, entspricht aber eher dem Ansatz von CSS als Mittel zur Trennung der Formatierung vom -einheitlichem- Inhalt, und der Arbeitsablauf bei den Anpassungen wird auch homogener. M.E. ist es ganz allgemein unabhängig von diesem Beispiel vorteilhaft mit php (soweit die Problematik der Abfrage des useragent klar ist) im head Browserweichen, CSS o. JavaScript, zu unterstützen, und dabei zumindest ein einheitliches HTML zu verwenden.

          Grüsse

          Cyx23

  3. Hallo Stefan,

    klingt in deinen bisherigen Antworten doch wunderbar: kompatibel zu allen Browsern außer Dummscape 4.x
    Warum machst du nicht auf der Startseite (Standardmäßig 'ie.htm') einfach einen Link zur Dummscape-Seite? Die entsprechenden User können ruhig wissen, daß sie immer eine Extrawurst brauchen.
    Außerdem ist das am aller einfachsten und sichersten.

    Gruß, Andreas