Dennis: Browserabfrage

Hallo!

Was ich realisieren möchte, ist für die Profis unter uns bestimmt ganz leicht. Ein Jeder kennt das Problem mit der Kompatiblität von Netscape und Co.
Da meine Seite ein paar Features (z.B. Filter) enthält, welche nur vom IE interpretiert werden, möchte ich für die Nicht-IE-User eine Hinweismeldung ausgeben.

So stelle ich mir das vor:
<script language="javascript" type="text/javascript">
<!--
if (Browser des Users == Netscape 4.x)
 lade Seite "netscape.html"
else if (Browser des Users == Opera)
 lade Seite "opera.html"
else if (Browser des Users == IE 6.x)
 lade Seite "start.html"
else
 lade Seite "rest.html"
-->
</script>

Wie kann ich das jetzt mit Javascript realisieren? in SelfHTML hab ich da kein Beispiel gefunden, wie ich den Browsertyp auslesen kann.
(Das oben ist natürlich kein Javascript sondern einfaches Deutsch)

Bin wirklich für jede Hilfe dankbar.

MfG, Dennis.

--
Auf Signaturen hab ich keinen Bock!!
  1. Hallo,

    Wie kann ich das jetzt mit Javascript realisieren? in SelfHTML hab ich da kein Beispiel gefunden, wie ich den Browsertyp auslesen kann.

    obwohl es da sogar extra ein fertiges Script zu diesem Thema gibt. Kuck mal im DHTML-Kapitel.

    (Das oben ist natürlich kein Javascript sondern einfaches Deutsch)

    achso!

    Gruß, Andreas

    --
    <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
    http://was-ist-das.andreas-lindig.de
    1. Hallo!

      Wie kann ich das jetzt mit Javascript realisieren? in SelfHTML hab ich da kein Beispiel gefunden, wie ich den Browsertyp auslesen kann.
      obwohl es da sogar extra ein fertiges Script zu diesem Thema gibt. Kuck mal im DHTML-Kapitel.

      Meinst du das hier http://selfhtml.teamone.de/dhtml/beispiele/dhtml_bibliothek.htm? Da werd ich nicht so ganz schlau draus. Könntest du mir das noch mal ein bisschen erklären?

      (Das oben ist natürlich kein Javascript sondern einfaches Deutsch)
      achso!

      Ja, man merkt sonst nicht, oder? *bg*

      MfG, Dennis.

      --
      Auf Signaturen hab ich keinen Bock!!
      1. Da werd ich nicht so ganz schlau draus. Könntest du mir das noch mal ein bisschen erklären?

        ist eigentlich alles erklärt. Erfordert natürlich gründliches Vorlesen. Du brauchst eigentlich nur diesen Teil hier:

        var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;

        function DHTML_init() {

        // wenn es ein Opera ist bekommt OP den Wert 1
         if (window.opera) {
             OP = 1;
         }

        // wenn er das W3C-Modell kennt (Mozilla, IE ab 5) bekommt DOM den Wert 1
         if(document.getElementById) {
           DOM = 1;
         }

        // wenn er ein IE ist, bekommt MS den Wert 1
         if(document.all && !OP) {
           MS = 1;
         }

        // wenn er ein Netscape 4 ist bekommt NS den Wert 1
        if (window.netscape && window.screen && !DOM && !OP){
           NS = 1;
         }
        }

        DHTML_init();

        Gruß, Andreas

        --
        <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
        http://was-ist-das.andreas-lindig.de
        1. Hallo!

          ist eigentlich alles erklärt. Erfordert natürlich gründliches Vorlesen.

          Das hab ich eigentlich schon gemacht.
          Danke, was du da jetzt rausgefiltert hast, ist mir schon klar geworden. Und das packe ich jetzt in ein Javascript in den Header der Seite?

          Was mir noch nicht ganz klar geworden ist, ist, wie ich das ganze "abrufe". Vielleicht in etwa so?

          if (MS == 1)
           self.location.href('iehinweis.htm')       <- stimmt das?

          muss ich da jetzt auch noch else hinschreiben?
          oder etwas so fortfahren:

          else if (NS == 1)
           self.location.href('netscape4hinweis.htm')

          <-- usw. -->

          Würde das jetzt rein theoretisch funktionieren?

          MfG, Dennis.

          --
          Auf Signaturen hab ich keinen Bock!!
          1. Und das packe ich jetzt in ein Javascript in den Header der Seite?

            genau. Der Head-Bereich wird immer als erstes geladen da kann man dann gleich umleiten.

            Was mir noch nicht ganz klar geworden ist, ist, wie ich das ganze "abrufe". Vielleicht in etwa so?

            if (MS == 1)

            ja, 1 und 0 hat der Meister allerdings verwendet, damit man etwas schreiben sparen kann:

            if(MS)

            self.location.href('iehinweis.htm')       <- stimmt das?

            Du mußt nur die richtige Syntax verwenden, steht auch im Selfhtml unter location.href:

            self.location.href = 'iehinweis.htm'

            arbeite alle Brauser ab und schreib zuguterletzt in den Body die Seite, die Leute kriegen, die kein Javascript haben - die sind sehr wichtig. Ich bin öfters ohne JS unterwegs.

            Gruß, Andreas

            --
            <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
            http://was-ist-das.andreas-lindig.de
            1. Hallo!

              So, jetzt hab ich mich da nochmal drangesetzt und folgendes ist bei rausgekommen. Zuerst das Script, das du mir da zusammen gestellt hast beginnend mit <script ...> <!-- Dann das Script --></script>.

              Und dann kommt mein Script:
              <script language="javascript" type="text/javascript>
              <!--
              if (OP) {
                  self.location.href = 'ophinweis.html'        <- Wenn Browser Opera
                  }
              else if (DOM) {
                  self.location.href = 'mozillahinweis.html'   <- Wenn Browser Mozilla
                  }
              else if(MS) {
                  self.location.href = 'iehinweis.html'        <- Wenn Browser IE
                  }
              else if(NS){
                  self.location.href = 'nshinweis.html'        <- Wenn Browser Netscape 4.x
                  }
              else {
                  self.location.href = 'unbekannt.html'        <- Für alle anderen Browser
                  }
              -->
              </script>

              Werden da (in deinem Scipt) auch Netscape 5, 6 und 7 berücksichtigt?

              arbeite alle Brauser ab und schreib zuguterletzt in den Body die Seite, die Leute kriegen, die kein Javascript haben - die sind sehr wichtig. Ich bin öfters ohne JS unterwegs.

              <body>
              Diese Seite verwendet Javascript. Wenn Sie dieses aktiviert haben, werden Sie automatisch weitergeleitet, ansonsten klicken Sie unten Bitte auf den Browser, welchen Sie verwenden.
              <a href="iehinweis.html">Internetexplorer</a>
              <!-- uws. -->
              </body>

              So ok?

              MfG, Dennis.

              --
              Auf Signaturen hab ich keinen Bock!!
              1. Guten Morgen Dennis!

                Hier noch eine Anmerkung, weil Du mit Filtern arbeitest:

                der MAC Internet Explorer kann - soweit ich weiss - keine Filter, das muss in der Weiche natürlich auch berücksichtigt werden:

                var op = (window.opera) ? 1:0;
                var ns = (document.layers) ? 1:0;
                var ie = (document.all) ? 1:0;
                var dom = (document.getElementById) ? 1:0;
                //
                var ua = navigator.userAgent.toLowerCase();
                var mc = ua.indexOf('mac',0) != -1;
                //

                if (ie && !op && !mc)
                führe diese Anweisung aus ...
                else
                führe diese Anweisung aus ...

                Viel Spass noch

                Mfg Ruben

              2. Hallo ,

                ja etwa so. Du mußt nur die Reihenfolge von DOM und MS vertauschen, weil der IE eben auch das DOM kennt. Sonst wird bei der Weiche nach DOM auch der IE umgeleitet.

                Also:
                if(MS)
                ...
                else if(DOM)
                ...

                denk nur in Deinem Body-Hinweis daran, nicht wieder auf JavaScript Seiten zu verlinken. Da können die Leute dann nichts mit anfangen.

                Gruß, Andreas

                --
                <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
                http://was-ist-das.andreas-lindig.de
                1. ja etwa so. Du mußt nur die Reihenfolge von DOM und MS vertauschen, weil der IE eben auch das DOM kennt. Sonst wird bei der Weiche nach DOM auch der IE umgeleitet.

                  Besser für die IE-Erkennung Conditional Comments verwenden, sonst erwischt es auchden Konqueror.

                  Stefan

                  1. Hallo!

                    Besser für die IE-Erkennung Conditional Comments verwenden, sonst erwischt es auchden Konqueror.

                    Was ist das denn für ein Browser? Hab ich ja noch nie gehört.
                    Ich habe meine HP bei 1und1 - da kann ich genau sehen, mit welchen Browsern auf meine HOmepage zugegriffen wurde und so ein Konqueror war noch nie dabei.

                    MfG, Dennis.

                    --
                    Auf Signaturen hab ich keinen Bock!!
                    1. Hi,

                      Ich habe meine HP bei 1und1 - da kann ich genau sehen, mit welchen Browsern auf meine HOmepage zugegriffen wurde und so ein Konqueror war noch nie dabei.

                      wenn Du die 1&1 Statistik meinst: da irrst Du. Zum einen werden längst nicht alle Browser erkannt und zum anderen bekommst Du ja auch nur eine Übersicht der häufigsten Browser zu Gesicht. Exoten fallen da unter den Tisch... es sei denn, Du wertest die Logs selbst aus.

                      freundliche Grüße
                      Ingo

                      1. Hallo!

                        wenn Du die 1&1 Statistik meinst: da irrst Du. Zum einen werden längst nicht alle Browser erkannt und zum anderen bekommst Du ja auch nur eine Übersicht der häufigsten Browser zu Gesicht. Exoten fallen da unter den Tisch... es sei denn, Du wertest die Logs selbst aus.

                        Doch, ich krieg da auf Wunsch alle angezeigt, ja, es stimm, mache werden schon mal nicht ausgewerte, aber ich nehme nicht rücksicht auf irgendwelche Exoten *g*

                        MfG, Dennis.

                        --
                        Auf Signaturen hab ich keinen Bock!!
                        1. Hi,

                          Doch, ich krieg da auf Wunsch alle angezeigt, ja, es stimm, mache werden schon mal nicht ausgewerte, aber ich nehme nicht rücksicht auf irgendwelche Exoten *g*

                          also ich bekam immer nur die 10 mit den häufigsten Zugriffen. D.h. noch nicht einmal einen prozentualen Anteil der Besucher. Mal ein Beispiel..

                          1&1:
                          1 MSIE 6.0; Windows NT 5.1 678...
                          2 Microsoft Internet Explorer 5.0 441...
                          3 Netscape 5.0 185...
                          4 MSIE 6.0; Windows NT 5.0 171...
                          5 MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322 101...
                          6 MSIE 6.0; Windows 98 65...
                          7 MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705 40..
                          8 MSIE 6.0; Windows NT 5.1; Crazy Browser 1.0.5; .NET CLR 1.1.4322 21...
                          9 ia_archiver 21...
                          10 MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322 20...

                          eigene Auswertung:
                          [Browser: 502]
                            327* MSIE 6
                             47* MSIE 5.5
                             28* Mozilla
                             26* MSIE 5
                             21* Opera (20* Opera 7.x)
                             15* Firefox/Firebird
                             10* Netscape 7.x
                              5* MSIE Mac
                              4* Safari
                              3* MSIE 4
                              2* Konqueror
                              1* Netscape 6.x
                              1* Netscape 4.x
                              7* unbekannt (-> andere Kennungen)
                              5* keine Browserkennung

                          1* OfflineReader (1* MSIECrawler)
                              2* W3C Validator

                          [Robots: 40]
                             19* Inktomi's Web Robot
                             10* GoogleBot
                              4* grub.org clientRobots
                              2* alexa Robot
                              1* AltaVista Robot
                              4* andere Robots

                          Insbesondere die Angabe Netscape 5.0 sollte Dich eigentlich stutzig machen...
                          Gruß
                          Ingo

              3. Hallo!

                Erst mal ein ganz dickes Dankeschön an euch alle, die ihr mir geholfen habt. Wenn ich das jetzt öffne, komme ich genau auf die gedachte Seite - hab nur IE, konnte Rest noch nicht ausprobieren. Denke aber das tuts auch alles.

                Jezt noch eine kleine Frage; ich habe da jetzt in der .js-Datei:
                 // wenn er ein Netscape 4 ist bekommt NS den Wert 1
                if (window.netscape && window.screen && !DOM && !OP){
                   NS = 1;
                 }

                Damit werden laut meinen "Lehrern" die Netscape 4.x ausgefiltert. Wie ist das mit Netscape 5 (gibts das?), 6 und 7? Wo werden die rausgefiltert? Werden die gar nicht berücksichtigt? (meine Javascript datei seht ihr hier:</my/?t=73270&m=421827>)
                Oder gehörten die zu denen, die das W3C-Modell kennen?

                MfG, Dennis.

                --
                Auf Signaturen hab ich keinen Bock!!
                1. Wie ist das mit Netscape 5 (gibts das?), 6 und 7? Wo werden die rausgefiltert? [...] Oder gehörten die zu denen, die das W3C-Modell kennen?

                  genau. N6 ist intern N5. Die 6 war ein Marketing-Gag, um den IE zu überholen. N6 und N7 fußen auf dem Mozilla, naja N6 auf einer unausgereiften Version.

                  Gruß, Andreas

                  --
                  <img src="http://was-ist-das.andreas-lindig.de/was_ist_das_fetzen.jpg" border="0" alt="">
                  http://was-ist-das.andreas-lindig.de
                  1. Hallo!

                    genau. N6 ist intern N5. Die 6 war ein Marketing-Gag, um den IE zu überholen. N6 und N7 fußen auf dem Mozilla, naja N6 auf einer unausgereiften Version.

                    Achso, die werden also bei den W3C Browsern mit ausgefiltert.
                    und thanks für die schnelle Antwort. *g*

                    MfG, Dennis.

                    --
                    Auf Signaturen hab ich keinen Bock!!
      2. Hi,

        warum so umständlich?
        wenn Du wirklich nur sicher den IE von den anderen Browsern abgrenzen willst, kannst Du doch viel besser conditional comments verwenden. Du gibst den Hinweistext sichtbar für alle aus und setzt ihn in einer Anweisung für den IE auf display:none.

        freundliche Grüße
        Ingo

        1. Hallo!

          wenn Du wirklich nur sicher den IE von den anderen Browsern abgrenzen willst, kannst Du doch viel besser conditional comments verwenden. Du gibst den Hinweistext sichtbar für alle aus und setzt ihn in einer Anweisung für den IE auf display:none.

          Und ich versteh nur Bahnhof - hab aber mittlerweile schon eien funktionierende Lösung.

          MfG, Dennis.

          --
          Auf Signaturen hab ich keinen Bock!!
  2. Was ich realisieren möchte, ist für die Profis unter uns bestimmt ganz leicht.

    Profis machen so etwas gar nicht.

    Ein Jeder kennt das Problem mit der Kompatiblität von Netscape und Co.

    Nein.

    Da meine Seite ein paar Features (z.B. Filter) enthält, welche nur vom IE interpretiert werden, möchte ich für die Nicht-IE-User eine Hinweismeldung ausgeben.

    "Hallo, leider wirst du keine Fade-In- und Fade-Out-Effekte sehen. Ist echt schade, du verpasst wirklich das allerbeste auf dieser Seite."

    1. Hallo!

      Da meine Seite ein paar Features (z.B. Filter) enthält, welche nur vom IE interpretiert werden, möchte ich für die Nicht-IE-User eine Hinweismeldung ausgeben.
      "Hallo, leider wirst du keine Fade-In- und Fade-Out-Effekte sehen. Ist echt schade, du verpasst wirklich das allerbeste auf dieser Seite."

      Ich versteh da jetzt nur Bahnhof. Was meinst du denn damit? Von wo ist dieses Zitat?

      MfG, Dennis.

      --
      Auf Signaturen hab ich keinen Bock!!