tiLL: Browserabfrage

Hallo,

ich bin zur Zeit daran, eine Website zu erstellen und weiß, dass die Zielgruppe hauptsächlich Mozilla Firefox und den IE verwendet. Ich habe auch schon 2 Stylesheets geschrieben und will nun durch Javascript eine Abfrage machen. Das ist mir bis soweit klar. Wenn ich dann diese Abfrage mache, will ich quasi eine if-anweisung machen. also wenn der browser firefox, dann nimm das stylesheet und wenn IE, dann das. wie geht das? ich komme nur soweit, dass ich abfrage, welcher Browser der User benutzt. Mir fehlt also diese If-Anweisung.

Ich danke schon im Voraus. ;) tiLL

  1. Hallo tiLL.

    Mir fehlt also diese If-Anweisung.

    Was hältst du von den Conditional Comments?

    Gruß, Ashura

    --
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Day 15: Mouse Gestures
    Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
    1. stimmt, das ist nicht schlecht, aber das ist ja nur für den IE. ich brauche es ja auch für Firefox.

      tiLL

      1. Hallo tiLL.

        stimmt, das ist nicht schlecht, aber das ist ja nur für den IE. ich brauche es ja auch für Firefox.

        Warum? Gib den Browsern das reguläre CSS und dem IE ein eigenes, wo du ggf. Werte überschreibst.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Day 15: Mouse Gestures
        Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        IE Layout-Workaround №1: <!--[if IE]><style type="text/css">*{display:none;}</style><![endif]-->
  2. Hi,

    was ist an einer IF-Anweisung so schwer?

    if(browser == "IE")
    {
       document.write('<link rel="stylesheet" type="text/css" href="..." />');
    }
    else
    {
    ...
    }

    Am sichersten kannst du die Abfrage für IE mit
    if(document.all && !window.opera)

    machen. meines Wissens. Ist besser als der HTTP_USER_AGENT.

    Du solltest aber auf jeden Fall noch ein CSS ohne JS einbinden. Oben drüber, falls JS nicht aktiv ist.

    Und generell würde ich eher CSS-Weichen als JS-Weichen empfehlen.
    Siehe dazu in SELFHTML u.a.

    Gruß
    Christian

    1. Hey,

      danke erstmal, aber ich hatte es jetzt auch gerade hinbekommen. was mir fehlte, war die document.writeln anweisung.

      wie würde es denn mit css weichen gehen?! ich stimme dir völlig zu, dass das sicherer ist ;)

      tiLL

      1. Hallo,

        wie würde es denn mit css weichen gehen?! ich stimme dir völlig zu, dass das sicherer ist ;)

        Unter http://de.selfhtml.org/css/layouts/browserweichen.htm findest du
        viele Möglichkeiten für Browserweichen. Du mußt ja nicht zwei komplette
        Stylesheets schreiben. Mach einfach ein richtiges für Browser, die CSS
        vernünftig interpretieren, und überschreib dann nur die Stellen, bei denen
        der IE nicht mitspielt.

        Gruß, Jan

    2. Hallo,

      Am sichersten kannst du die Abfrage für IE mit
      if(document.all && !window.opera)

      machen. meines Wissens.

      Diese Abfrage ist alleine deshalb schon unbrauchbar, weil Konqueror ebenfalls document.all unterstützt. (Die Einteilung aller Browser in IE und Firefox ist freilich problematisch.)
      Aber wie gesagt sind CSS-Weichen hier sinnvoller, am besten natürlich nur punktuell, wo tatsächlich unterschiedliche Styles notwendig sind.

      Mathias

      1. wie gehts das mit den Weichen?! bei dem Link blicke ich nicht so ganz durch.. =/

        tiLL

  3. ich bin zur Zeit daran, eine Website zu erstellen und weiß, dass die Zielgruppe hauptsächlich Mozilla Firefox und den IE verwendet. Ich habe auch schon 2 Stylesheets geschrieben ...

    Wozu das denn?

    Struppi.