Benny: Netscape 4.xy "ausschliessen"

Haaaaaaallo!

Ich hab grad mal wieder ein Problem mit JavasScript ;-)
Ich bastle grad an einem neuen Layout für die Seite von unserm Segelverein und hab jetzt das Problem, dass die Seite noch nicht mitm netscape 4.78 läuft (liegt, glaub ich, an den stylesheets).
Da auf der index.html eh auf verschiedene Seiten umgeleitet wird, die an die jeweilige Bildschirmauflösung der Users angepasst ist, habe ich mir gedacht, dass das script als erstes schauen müsste, ob netscape 4.xy verwendet wird (wenn ja, dass dann auf ne Hinweisseite umgeleitet wird) und erst danach nach den auflösungen checkt (wenn netscape 4.xy NICHT verwendet wird)
Ich habe gestern schon den halben tag probiert mit hilfe von selfHTML die sache zu lösen, bin aber auf keinen grünen zweig gekommen...

Deshalb is hier mal der Code:

<script LANGUAGE="JavaScript">

<!-- Begin
function redirectPage() {
var url800x600 = "sorry.html";
var url1024x768 = "index1.html";
var urlfalsch = "index1.html";
if ((screen.width == 800) && (screen.height == 600))
window.location.href= url800x600;
else if ((screen.width == 1024) && (screen.height == 768))
window.location.href= url1024x768;
else window.location.href= urlfalsch;
}
// End -->
</script>

<body onload="redirectPage()">

von selfHTML hab ich mir mal des runtergezogen:

<html><head><title>Test</title>

<script type="text/javascript">
<!--
if(navigator.appVersion.substring(0,1) == "4")
 alert("Oh, ein Browser der 4. Generation!");
//-->
</script>
</head><body>
</body></html>

und dass:

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
 document.write("So, so, Sie verwenden also " + navigator.appName);
//-->
</script>
</body></html>

Mein gedanke war, dass das script schaut, ob netscape verwendet wird und zudem in der Versionnr. ne 4 vorkommt...

Ich peils irgendwie nicht...

Ich hoffe, ihr konntet meinen etwas wirren Gedankengänge folgen ;-) und wisst ne lösung...

danke im vorraus

d:-) Benny

  1. Servus,

    Haaaaaaallo!

    ^^^^^^
    ztztztztzt, so sinnlose Byte-Verschwendung ;)

    <script LANGUAGE="JavaScript">

    <!-- Begin

    var browser=navigator.appName;
             var version=navigator.appVersion;
             var ver=version.substring(0,1);

    if ((browser == "Netscape") && (ver <= 4))  {   itsNetscape() } else { redirectPage()  }

    function itsNetscape()
                {
                   window.location.href = "keinNN.html"
                }

    function redirectPage() {
    var url800x600 = "sorry.html";
    var url1024x768 = "index1.html";
    var urlfalsch = "index1.html";
    if ((screen.width == 800) && (screen.height == 600))
    window.location.href= url800x600;
    else if ((screen.width == 1024) && (screen.height == 768))
    window.location.href= url1024x768;
    else window.location.href= urlfalsch;
    }
    // End -->
    </script>

    <body>...</body> usw.

    Soo, bidde schön!

    Bis dann...

    Alex :)

    1. thnx!
      genau das war die lösung!!
      nur der vollständigkeit halber:
      den onload befehl im body kann ich jetzt weglassen, oder?

      cya
      d:-) Benny

      Servus,

      Haaaaaaallo!
           ^^^^^^
      ztztztztzt, so sinnlose Byte-Verschwendung ;)

      <script LANGUAGE="JavaScript">

      <!-- Begin

      var browser=navigator.appName;
               var version=navigator.appVersion;
               var ver=version.substring(0,1);

      if ((browser == "Netscape") && (ver <= 4))  {   itsNetscape() } else { redirectPage()  }

      function itsNetscape()
                  {
                     window.location.href = "keinNN.html"
                  }

      function redirectPage() {
      var url800x600 = "sorry.html";
      var url1024x768 = "index1.html";
      var urlfalsch = "index1.html";
      if ((screen.width == 800) && (screen.height == 600))
      window.location.href= url800x600;
      else if ((screen.width == 1024) && (screen.height == 768))
      window.location.href= url1024x768;
      else window.location.href= urlfalsch;
      }
      // End -->
      </script>

      <body>...</body> usw.

      Soo, bidde schön!

      Bis dann...

      Alex :)

      1. thnx!

        no prob!

        genau das war die lösung!!
        nur der vollständigkeit halber:
        den onload befehl im body kann ich jetzt weglassen, oder?

        Ja, kannst Du. die if-Schleife "if ((browser == "Netscape") ..." wird sofort nach dem laden des HTML-Dokumentes ausgeführt. Die prüft halt die Bedingungen (gibt es einen Browser der Netscape heisst und dessen Version kleiner gleich 4 ist) und führt dann die Funktion itsNetscvape() aus. Wenn es das nicht gibt, wird die Funktion redirectPage() aufgerufen.

        Bis dann...

        Alex :)

  2. Moin!

    Ich bastle grad an einem neuen Layout für die Seite von unserm Segelverein und hab jetzt das Problem, dass die Seite noch nicht mitm netscape 4.78 läuft (liegt, glaub ich, an den stylesheets).

    Meinst du nicht, daß es für die Besucher einfacher ist, wenn sie immer eine funktionierende Seite kriegen, anstatt einfach keinen Zugang.

    Wenn deine Seite noch nicht so will, wie du, dann stelle _das_ Problem hier zur Diskussion, nicht den Versuch, daß Problem durch erzeugen neuer Probleme zu umgehen. Es gibt reichlich gute Leute hier, die auch dem Netscape 4 eine funktionsfähige Seite entlocken können, so daß _alle_ Besucher was sehen.

    Da auf der index.html eh auf verschiedene Seiten umgeleitet wird, die an die jeweilige Bildschirmauflösung der Users angepasst ist, habe ich mir gedacht, dass das script als erstes schauen müsste, ob netscape 4.xy verwendet wird (wenn ja, dass dann auf ne Hinweisseite umgeleitet wird) und erst danach nach den auflösungen checkt (wenn netscape 4.xy NICHT verwendet wird)

    Tja, schon wieder ein Problem: Meine Bildschirmauflösung sagt herzlich wenig über die Größe meines Browserfensters aus. Ich habe 1024x768 Auflösung, aber nur 808x572 Pixel Browserfenster. Also die ideale Konstellation, Layouts für 800 Pixel anzusehen. Ich muß aber auf die 1024er-Seite.

    Solltest du also hier nochmal reingucken, obwohl du deine Lösung schon kritiklos gekriegt hast, dann poste eine URL, und dir kann geholfen werden.

    - Sven Rautenberg

    1. Hi!

      klar, ein versuch isses wert...

      also: die url ist: www.rheinpiraten-online.de
      und wenn ihr mitm netscape 4.xy drauf wollt:
      www.rheinpiraten-online.de/index.html

      Das Hauptproblem liegt eigentlich drin, dass der background in der navi nicht mitscrollen darf...

      Ich denk, wenn es keine lösung gibt, mach ich für die f*ck Netscape user ;-) ne alternativlösung...

      Also, für jeden Lösungsvorschlag bin ich super dankbar!

      d:-) Benny

      1. Servus,

        ich möchte mich in diese Diskussion nicht einmischen, da ich den NN 4 extrem schlecht finde, ihn aber noch genügend User nutzen, die ICH nicht ausschliessen möchte. Meine Seiten gehen deshalb auch mit NN4.

        Was ich eigentlich anmerken möchte ist, dass Du auf der Index-Seite, wo Du Dein Du-darsft-rein-und-du-nicht-Script hast, mal durchaus den Body füllen solltest. Denn wenn jemand (wie ich testweise, höhöhö) mal JavaScript deaktiviert hat, sieht er nur eine ganz leere Seite.

        Wie wäre es mit einen kleinem <noscript>Du hast JS deaktiviert, klicke hier falls du nicht den NN4 nutzt *g* und eine Auflösung von 800*600 hast usw.</noscript>

        Bis denne...

        Alex :)

        1. Tach!

          wär direkt ne idee...
          da mach ich mich jetzt grad mal dran...

          d:-) Benny

          Servus,

          ich möchte mich in diese Diskussion nicht einmischen, da ich den NN 4 extrem schlecht finde, ihn aber noch genügend User nutzen, die ICH nicht ausschliessen möchte. Meine Seiten gehen deshalb auch mit NN4.

          Was ich eigentlich anmerken möchte ist, dass Du auf der Index-Seite, wo Du Dein Du-darsft-rein-und-du-nicht-Script hast, mal durchaus den Body füllen solltest. Denn wenn jemand (wie ich testweise, höhöhö) mal JavaScript deaktiviert hat, sieht er nur eine ganz leere Seite.

          Wie wäre es mit einen kleinem <noscript>Du hast JS deaktiviert, klicke hier falls du nicht den NN4 nutzt *g* und eine Auflösung von 800*600 hast usw.</noscript>

          Bis denne...

          Alex :)

      2. Moin!

        also: die url ist: www.rheinpiraten-online.de
        und wenn ihr mitm netscape 4.xy drauf wollt:
        www.rheinpiraten-online.de/index.html

        Das Hauptproblem liegt eigentlich drin, dass der background in der navi nicht mitscrollen darf...

        Tja, ich gebe zu, daß das mit dem Netscape 4 nicht geht. Aber mal ehrlich: Für so einen Popel willst du Leute gleich aussperren? Wenn dir nicht gefällt, daß Netscape den Flußbogen mitscrollt, dann:

        1. ignoriere es (Netscape-User sind a) leichten Kummer gewohnt und b) legen wahrscheinlich nicht soviel wert auf absolut perfektes Design - sonst würden sie Opera oder Mozilla benutzen ;) ).
        2. mach eine separate Seite für Netscape, die eben einen geraden Fluß zeigt - dann fällt das Mitscrollen nicht auf. :)

        Diese Lösung ließe sich sogar ohne Probleme ganz ohne Javascript lösen, nämlich mit CSS. Netscape 4 kennt nur die Einbindung externer Stylesheets mit <link> - da einfach für den body-Hintergrund das gerade Bild definieren.

        Alle anderen Browser kennen auch <style> @import </style> - da für den body-Hintergrund dann den Flußbogen definieren - und fertig ist es: Nur eine Datei für alle Browser!

        - Sven Rautenberg

        1. hi

          1. mach eine separate Seite für Netscape, die eben einen geraden Fluß zeigt - dann fällt das Mitscrollen nicht auf. :)

          Diese Lösung ließe sich sogar ohne Probleme ganz ohne Javascript lösen, nämlich mit CSS. Netscape 4 kennt nur die Einbindung externer Stylesheets mit <link> - da einfach für den body-Hintergrund das gerade Bild definieren.

          wenn das Bild von der CSS-Datei aus referenziert wird, css und html in verschiedenen Ordnern liegen und ein Relativer Pfad angegeben ist, ist eh schon Ruhe - Netscrap 4 sucht dann an der falschen Stelle. - so wird ein Bug zum Feature :)

  3. hi

    Da auf der index.html eh auf verschiedene Seiten umgeleitet wird, die an die jeweilige Bildschirmauflösung der Users angepasst ist, habe ich mir gedacht, dass das script als erstes schauen müsste, ob netscape 4.xy verwendet wird (wenn ja, dass dann auf ne Hinweisseite umgeleitet wird) und erst danach nach den auflösungen checkt (wenn netscape 4.xy NICHT verwendet wird)

    Das meiste wurde ja schon gesagt. Ich kann aber beim besten Willen keinen grund erkennen, warum Netscape 4 auf der Seite geblockt werden sollte. Warum es da ein "optimiert für 1024x768" gibt, ist mir auch rätselhaft. Vielmehr taucht bei mir unten links ein nutzloser blauer Bereich auf, in dem sich die Navigation nicht mehr fortsetzt - sehr störend, da der Navigations-Frame immer noch scrollt. Die Trennung "navi" und "backgroundnavi" ist schlicht überflüssig.
    Dann noch etwas zu den Schriften: du benutzt ja eh CSS, wieso also im Navigationsframe noch diese Bandbreite fressenden <font>-Konstruktionen? einfach a{color:#FFFFFF;font-family:Arial,Helvetica,sans-serif;} in den <style>-Block mit rein und schon sind die <font>-Tags komplett überflüssig.
    Ansonsten fehlen noch die alt="" an den Bildern - in diesem Falle wäre aber wohl ein leeres alt="" das sinnvollste. Dazu noch ein paar andere Dinge, für dich ich mal auf den Validator verweise http://validator.w3.org - sehr wichtig: der DOCTYPE ist für Frames schlicht FALSCH. genaugenommen müsste ein jeder Browser bei der Angabe HTML 3.2 jegliche target="" Abgaben ignorieren.

    Beim Hauptframe fehlt der DOCTYPE gleich ganz und der bookmark-link da...
    versteck das Teil mit style="display:none;" und mach es dann mit if(document.external.addfavorite){document.getElementById("favlink").style.display="block";}
    wieder sichtbar. So nervt's keinen nicht-IE-User.

  4. Hi!

    Danke für die vielen verbesserungsvorschläge!
    Ich werd jetzt alles nach und nach umsetzen...
    Ach ja: für des doctype zeugs kann ich nix, des war mein editor...
    (arachnophilia) ich wusste ja ehrlichgesagt gar nich genau, was des überhupt aussagt ;-)

    d:-) Benny

    Haaaaaaallo!

    Ich hab grad mal wieder ein Problem mit JavasScript ;-)
    Ich bastle grad an einem neuen Layout für die Seite von unserm Segelverein und hab jetzt das Problem, dass die Seite noch nicht mitm netscape 4.78 läuft (liegt, glaub ich, an den stylesheets).
    Da auf der index.html eh auf verschiedene Seiten umgeleitet wird, die an die jeweilige Bildschirmauflösung der Users angepasst ist, habe ich mir gedacht, dass das script als erstes schauen müsste, ob netscape 4.xy verwendet wird (wenn ja, dass dann auf ne Hinweisseite umgeleitet wird) und erst danach nach den auflösungen checkt (wenn netscape 4.xy NICHT verwendet wird)
    Ich habe gestern schon den halben tag probiert mit hilfe von selfHTML die sache zu lösen, bin aber auf keinen grünen zweig gekommen...

    Deshalb is hier mal der Code:

    <script LANGUAGE="JavaScript">

    <!-- Begin
    function redirectPage() {
    var url800x600 = "sorry.html";
    var url1024x768 = "index1.html";
    var urlfalsch = "index1.html";
    if ((screen.width == 800) && (screen.height == 600))
    window.location.href= url800x600;
    else if ((screen.width == 1024) && (screen.height == 768))
    window.location.href= url1024x768;
    else window.location.href= urlfalsch;
    }
    // End -->
    </script>

    <body onload="redirectPage()">

    von selfHTML hab ich mir mal des runtergezogen:

    <html><head><title>Test</title>

    <script type="text/javascript">
    <!--
    if(navigator.appVersion.substring(0,1) == "4")
    alert("Oh, ein Browser der 4. Generation!");
    //-->
    </script>
    </head><body>
    </body></html>

    und dass:

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    <!--
    document.write("So, so, Sie verwenden also " + navigator.appName);
    //-->
    </script>
    </body></html>

    Mein gedanke war, dass das script schaut, ob netscape verwendet wird und zudem in der Versionnr. ne 4 vorkommt...

    Ich peils irgendwie nicht...

    Ich hoffe, ihr konntet meinen etwas wirren Gedankengänge folgen ;-) und wisst ne lösung...

    danke im vorraus

    d:-) Benny