Ewald: if then Browsererkennung mit PHP

hallo,

ich muss für einen Kunden eine seite so gestalten, das unbedingt geneva als hauptschriftart haben möchte, also kein arial und verdana. Ich erklärte ihm das dies aber nur auf apple mac geht, weil die zu den systemfonts gehört bei mac, aber nicht bei windows. ich konnte dann kunden überreden das er dann trebuchet ms für windows rechner und browser nutzen, weil die meisten auf diese installiert haben auf windows. man muss dazu sagen das der kunde nur mit mac arbeitet und ich eigentlich auch doch bisher nahm ich als alternative zu geneva, arial. per js wird noch eine schriftgrößen veränderung durchgeführt das ist aber nicht das problem da leg ich einfach 3 css style baue mit verschiedenen schriftgrößen und diese werden per js gewechslt.

was ist bessere lösung, einfach den font in den css dateien mit:
1.
font: Trebuchet MS, Geneva, Arial, Verdana, Sans-Serif, etc. anzulegen, dann nimmt der IE ja Trrebuchet MS wenn er diese hat, wenn nicht Arial, da Geneva nicht hat. Dann ist aber das problem das, wenn der MAC Trebuchet MS installiert hat (was in der regel so ist) auch diese nimmt und nicht Geneva.

2.
Da ds ganze in einem CMS also PHP/MySQL läuft, so kam ich auf die Idee zwei verschiedene head dateien oder zwei verschiedene style tags (das sind 4 für verknüpfte css dateien standard, klein, normal und groß) anzulegen, würde dann checken welcher browser genutzt wird und dann mit if/then in ein include ist den entsprechenden head ein zubauen.

nur leider weiss ich nicht wie diese realisiere mit also wie dieser browsercheck mit if/then gebaut wird.

Kann mir da vielleicht jemand helfen, das geht ja uch mit JS würde es aber gerne in php realisieren.

danke schööööön

Ewald

  1. Servus!
    Kann es sein, dass du etwas komliziert denkst? Ich würde an deiner Stelle ein Bild erstellen und einbinden.
    Servus

    1. Hallo,

      Kann es sein, dass du etwas komliziert denkst? Ich würde an deiner Stelle ein Bild erstellen und einbinden.

      wenn er von der Hauptschrift spricht, denke ich er meint die Schrift, die auf der ganzen Seite verwendet wird.

      Allerdings denkt er wirklich zu kompliziert.
      Conditional Comments für den IE scheinen hier eine berechtigte Lösung zu sein.

      Gruß, T

      1. Hallo,

        am alle Vielen Dank, manchmal sieht man, wen man zu lange programmiert, den Wald vor lauter Bäumen nicht. Natürlich die Reihenfolge der Schriftarten, und die auf Fremdrechnern vorliegen werden ja systematisch nacheinander genutzt.

        Es ist nur schade das auf Windows nicht Geneva mit als Standard vorliegt.

        Also ich danke euch, ich habe saß auf ne dicken Leitung.

        Gruß

        Ewald

        1. Hi,

          Es ist nur schade das auf Windows nicht Geneva mit als Standard vorliegt.

          macht nicht, Trebuchet ebensowenig. Also wird's doch bei den meisten auf Verdana oder Arial hinauslaufen.

          Also ich danke euch, ich habe saß auf ne dicken Leitung.

          Das ist keine Schande, passiert uns allen dann und wann. ;-)

          Schönen Abend noch,
           Martin

          --
          why the heck do you jerk think, that wir ein doppelposting nicht bemerken, wenn you zwischendurch the sprache wechselst?
            (wahsaga)
  2. Hi,

    font: Trebuchet MS, Geneva, Arial, Verdana, Sans-Serif, etc. anzulegen, dann nimmt der IE ja Trrebuchet MS wenn er diese hat, wenn nicht Arial, da Geneva nicht hat. Dann ist aber das problem das, wenn der MAC Trebuchet MS installiert hat (was in der regel so ist) auch diese nimmt und nicht Geneva.

    ? Die Reihenfolge wird beachtet! Schreibe also zuerst Geneva, "Trebuchet MS", ...

    Die erste Schrift in der Liste, die existiert, wird auch verwendet. Existiert die Schrift nicht, wird die nächste in der Liste überprüft. Einfach und logisch. :-)

    nur leider weiss ich nicht wie diese realisiere mit also wie dieser browsercheck mit if/then gebaut wird.

    Browserchecks sind selten sinnvoll, Browserchecks auf Serverseite noch viel weniger. Man kann sie meistens vermeiden (udn sei es durch so etwas wie Conditional Comments).

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Hell-O!

    font: Trebuchet MS, Geneva, Arial, Verdana, Sans-Serif, etc. anzulegen, dann nimmt der IE ja Trrebuchet MS wenn er diese hat, wenn nicht Arial, da Geneva nicht hat. Dann ist aber das problem das, wenn der MAC Trebuchet MS installiert hat (was in der regel so ist) auch diese nimmt und nicht Geneva.

    Ich persönlich sortiere Schriften immer aufsteigend nach der Wahrscheinlichkeit ihrer Verfügbarkeit beim Client. Dies sähe bei dir so aus:

    font-family: Geneva,"Trebuchet MS",Verdana,Arial,sans-serif;

    Da ds ganze in einem CMS also PHP/MySQL läuft, so kam ich auf die Idee zwei verschiedene head dateien oder zwei verschiedene style tags (das sind 4 für verknüpfte css dateien standard, klein, normal und groß) anzulegen, würde dann checken welcher browser genutzt wird und dann mit if/then in ein include ist den entsprechenden head ein zubauen.

    Wenn du es so, wie oben beschrieben, machst, bekommen MAC-User ihr Geneva (ist das eine Standardschriftart?) und alle anderen zuerst Trebuchet, dann Verdana usw. Dann benötigst du m.E. keine Browserweiche.

    nur leider weiss ich nicht wie diese realisiere mit also wie dieser browsercheck mit if/then gebaut wird.

    Ein Browsercheck mit PHP ist eine unzuverlässige Sache, da PHP nur den UserAgent-String, den der Browser mitschickt, auswerten kann. Und da diese Kennung keinen Normen unterliegt, könnte das zu unerwareteten Ergebnissen führen.

    Wenn dich mein Lösungsvorschlag nicht zufriedenstellt, dann versuche zunächst, über CSS die Browser entsprechend zu bedienen (ein paar Hacks sind in SELFHTML genannt, weitere findest du bei Bedarf im Forums-Archiv).

    Kann mir da vielleicht jemand helfen, das geht ja uch mit JS würde es aber gerne in php realisieren.

    Javascript wäre aber in diesem Fall die bessere Wahl, da es beim Client ausgeführt wird und du daher direkt die Fähigkeiten des individuellen Browsers testen kannst. Eine recht umfangreiche Liste dessen, was welcher Browser kann, findest du bei Lipfert und Malik.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    Siechfreds Tagebuch || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
    1. Hallo Siechfred.

      Ich persönlich sortiere Schriften immer aufsteigend nach der Wahrscheinlichkeit ihrer Verfügbarkeit beim Client. Dies sähe bei dir so aus:

      font-family: Geneva,"Trebuchet MS",Verdana,Arial,sans-serif;

      Ist hier eine Schriftart nicht fehl am Platze?

      Einen schönen Mittwoch noch.

      Gruß, Mathias

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      debian/rules
    2. Vielen Dank Siechfred,

      ich denke das ist die beste Lösung, auch im Hinblikc auf die Browserkompatibilität.

      THX und Gruß

      Ewald

    3. Hi,

      Ich persönlich sortiere Schriften immer aufsteigend nach der Wahrscheinlichkeit ihrer Verfügbarkeit beim Client.

      wieso nicht nach der von Dir gewünschten Darstellung? Die Verfügbarkeit ist bei der Reihenfolge doch irrelevant.

      freundliche Grüße
      Ingo

      1. Hell-O!

        Ich persönlich sortiere Schriften immer aufsteigend nach der Wahrscheinlichkeit ihrer Verfügbarkeit beim Client.
        wieso nicht nach der von Dir gewünschten Darstellung?

        Die Schriftarten *sind* bereits die, in denen ich das Ergebnis sehen möchte, und innerhalb dieser sortiere ich nach Wahrscheinlichkeit der Verfügbarkeit.

        Die Verfügbarkeit ist bei der Reihenfolge doch irrelevant.

        Nein, ist sie dann nicht, wenn man eine Ausgangssituation wie der OP hat.

        Siechfred

        --
        Ich bin strenggenommen auch nur interessierter Laie. (molily)
        Siechfreds Tagebuch || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
        1. Hi,

          Die Schriftarten *sind* bereits die, in denen ich das Ergebnis sehen möchte, und innerhalb dieser sortiere ich nach Wahrscheinlichkeit der Verfügbarkeit.

          Warum? Hast Du innerhalb dieser Schriftarten keinerlei Vorlieben, nach denen Du die Reihenfolge bestimmen könntest?

          Die Verfügbarkeit ist bei der Reihenfolge doch irrelevant.

          Nein, ist sie dann nicht, wenn man eine Ausgangssituation wie der OP hat.

          Ewald möchte »unbedingt geneva als hauptschriftart haben« - Ergo muss diese, unabhängig von der Verfügbarkeit, am Anfang stehen. Und die weitere Reihenfolge sollte demnach auch entsprechend der Ähnlichkeit zu geneva gewählt werden.

          freundliche Grüße
          Ingo