browserweiche will nicht, so wie sie soll

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • browserweiche will nicht, so wie sie soll

    hi@all, habe ein problem und zwar möchtet ich, dass mozilla (bzw. firefox)
    eine eigene css-datei bekommt, da er teilweise breiten- und größenangaben , die sich auf eine tabelle beziehen und in der mit table class eingebundenen css-datei stehen anders (ich sag jetzt extra nicht falsch, bevor hier wieder ein kleinkrieg ausbricht, der mir nicht im geringsten nutzt ) interpretiert als opera und der ie. dafür hab ich auch extra dieses kleine php-script in den head-bereich eingefügt:

    <?
    if(strstr($_SERVER['HTTP_USER_AGENT'], "Mozilla")
    {
    $browser = "<link rel="stylesheet" type="text/css" href="mozilla.css">";}
    else {
    $browser = "<link rel="stylesheet" type="text/css" href="formate.css">";}
    ?>

    <?echo $browser; ?>


    so, die browser interpretieren jetzt schonmal ein stylesheet, leider greift sich das allgemeine script und die browser geben noch das aus:
    ";} else { $browser = "";} ?>
    den bereich hab ich nochmal fett markiert, damit man besser erkennen kann, worum es sich handelt.
    Ich muss also noch irgendeinen Fehler drin haben. Könnt ihr irgendwas finden?
    ich hab schon ewig im netz gesucht, aber nichts gefunden, bitte um genade mit einem unwissenden

  • #2
    Re: browserweiche will nicht, so wie sie soll

    1. vergleich mal:
    PHP-Code:
    $browser "<link rel="stylesheet" type="text/css" href="mozilla.css">";
    // VS
    $browser '<link rel="stylesheet" type="text/css" href="mozilla.css">'
    2. bringt dir eine prüfung auf "Mozilla" nicht viel, da der IE diesen string auch sendet und der mac safari und ...
    Kissolino.com

    Kommentar


    • #3
      ja, ich habe mir überlegt auf gecko zu prüfen, da der eintrag nur bei mozilla und dem aktuellen netscape (sehr mozilla-ähnlich)
      danke schon mal für die antwort

      aber das ändern der anführungszeichen hat leider nichts geändert, ich bekomme immer noch die selbe ausgabe
      trotzdem schonmal danke, dass du geantwortet hast
      Zuletzt geändert von ; 14.12.2004, 21:48.

      Kommentar


      • #4
        hmm,

        auch wenn es keiner mehr hören kann ...

        - firefox interpretiert richtig, ie falsch.
        - trotzdem läßt sich so layouten, daß das erscheinungsbild in allen browsern gleich ist

        egal.

        wie sieht momentan der erzeugte und der erzeugende source aus? nach anwendung der von Wurzel vorgeschlagenen änderungen muß sich etwas geändert haben ....

        sich auf den ua zu verlassen, ist das schlechteste, was du machen kannst ...

        http://www.dithered.com/css_filters/css_only/index.php
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Also das was Wurzel vorgeschlagen hat, sollte eigentlich auch so funktionieren...

          ansonsten escapen:

          PHP-Code:
          $browser "<link rel=\"stylesheet\" type=\"text/css\" href=\"mozilla.css\">"
          Der Mensch ist ein Tier das zuviel denkt!

          Kommentar


          • #6
            Original geschrieben von derHund
            auch wenn es keiner mehr hören kann ...

            - firefox interpretiert richtig, ie falsch.
            - trotzdem läßt sich so layouten, daß das erscheinungsbild in allen browsern gleich ist
            und serverseitige "browserweichen" sind der größte quatsch, und unzuverlässig.

            CSS hacks und/oder conditional comments sind die zu bevorzugenden mittel, um den browsern nach ihren fähigkeiten anderes CSS vorzusetzen, und nicht nach dem, wo für sie sich ausgeben.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              @derhund: ich weis
              und wegen der kompatibilität: hab sonst immer so gearbeitet, aber da mozilla bei tabellen angegebene class-definitionen für die platzangabe anderst interpretiert als der ie und opera, welche tabellen-classes genauso interpretieren wie normale über
              <p class="soundso">blabla</p> eingefügte classes. nur dafür brauche ich so ne blöde browserweiche

              @wahsaga: also ich finde es ist eine sauberere lösung, als hacks, welche man bei jeder neuen version von browsern prüfen, muss, ob sie noch funktionieren

              und leider haben die änderungen von wurzel gar nichts gebracht und das escapen bringt, dass kein browser auch nur irgendein stylesheet findet
              Zuletzt geändert von ; 15.12.2004, 16:12.

              Kommentar


              • #8
                dann wirst du wohl etwas falsch gemacht haben, denn die vorgeschlagene lösung war in ordnung.

                Kommentar


                • #9
                  hab echt alles so eingeben, ich weis echt nicht mehr weiter

                  sieht jetz so aus:

                  <?php
                  $mozilla = strstr("gecko" , $_SERVER['HTTP_USER_AGENT']);
                  if ($mozilla == true)
                  {
                  echo ('<link rel="stylesheet" type="text/css" href="mozilla.css">');

                  }
                  else
                  {
                  echo ('<link rel="stylesheet" type="text/css" href="formate.css">');

                  }
                  ?>

                  funzt aber immer noch nicht, trotzdem schonmal ein dickes DANKE für eure antworten und eure zeit

                  Kommentar


                  • #10
                    wie äussert sich "funzt nicht"?

                    - fehlermeldungen?
                    - error-reporting auf E_ALL?
                    - kann man das online sehen?
                    - hast du testausgaben gemacht?
                    Kissolino.com

                    Kommentar


                    • #11
                      Gehört das ned ins HTML Forum ?!

                      btw:
                      Code:
                      <link href="mozilla.css" rel="stylesheet" type="text/css" title="Mozilla Style" />
                      <!--[if  IE]>
                         <link href="ie.css" rel="stylesheet" type="text/css" title="IE Style" />
                      <![endif]-->
                      Suchste das ?!

                      Kommentar


                      • #12
                        also, grundsätzlich scheint das script auch zu funktionieren, allerdings wird der strstr-tag
                        nur als komplette ausgabe ausgewertet, also nicht, wenn ich nur gecko eingebe, sondern erst, wenn die komplette ausgabe mit
                        $_SERVER['HTTP_USER_AGENT']
                        übereinstimmt, aber ich möchte ja, dass die ausgabe dieser variable nach einem bestimmten begriff durchsucht wird. kann mir da jemand helfen? ich weiß nicht wie man das definieren würde und habe auch schon im internet gesucht, aber nichts passendes gefunden

                        und leider klappt das bei mir mit dem einbinden noch ned so ganz, wie kann ich die php-datei direkt am anfang aus einer externen datei laden?
                        mit dem include-befehl? und wenn ja, wie lautet der string?
                        und nochmal HERZLCIHEN DANK für eure wertvolle zeit und hilfe für php-noobs

                        Kommentar


                        • #13
                          nimm mal stristr ... in meinen stats steht "Gecko" nicht "gecko" und strstr vergleicht auf gross- & kleinschreibung

                          @skaschy
                          er wills partout mit php machen ...
                          Kissolino.com

                          Kommentar


                          • #14
                            hmm, aendern tut das leider nix, wenn ich stristri nehme

                            PS: javascript will ich ned nehmen, weil viele das ausgeschaltet haben und deshalb die falsche/ gar keine css datei bekommen würden

                            Kommentar


                            • #15
                              php.net berichtet:
                              Code:
                              string stristr (string haystack, string needle)
                              weißt du, was die worte haystack und needle in den klammern bedeuten?

                              Kommentar

                              Lädt...
                              X