Dirk Ruchatz: Browser-Weiche für Safari

Moin moin,

gibt es einen CSS-Hack, um speziell den Mac-Browser Safari anzusprechen?

Hintergrund: ich nutze auf einer Page ­ zur bedingten Silbentrennung, bei den von mir getesten Windows-Browsern klappt alles mehr oder weniger zufriedenstellend, aber zumindest nicht störend (IE und Opera trennen wie gewünscht, Firefox, Mozilla und Netscape ignorieren ­ einfach)...

Probleme machen dabei aber scheinbar einige Macintosh-Browser: der IE 5.x zeigt Sonderzeichen (http://ruchatz.net/selfhtml/shy.gif), Safari zeigt die Trennstriche immer an, auch wenn nicht getrennt wird (http://browsershots.org/png/full/7b19548e8ec38281ec0c4277bbee54a0-pgdn1.png).

Ich habe jetzt die ganzen &shy; in <span class="trennen">&shy;</span> umgewandelt und setze diese spans beim Mac IE mittels CSS-Hack auf display:none; ähnliches würde ich auch gerne für den Safari machen, finde aber keinen passenden CSS-Hack für diesen Browser.

Kennt jemand was passendes...?

Glück auf
Dirk

  1. Hallo Dirk,

    gibt es einen CSS-Hack, um speziell den Mac-Browser Safari anzusprechen?

    Da würde ich schon fast eher auf JavaScript zurückgreifen (da alles andere viel zu anfällig wäre.)

    Ob diese Seiten noch was taugen?
    http://www.macedition.com/cb/resources/safari_notes.shtml
    http://www.dithered.com/css_filters/index.html

    oder diese:
    http://www.stormdetector.com/hacks/safarihack.html
    http://www.workingwith.me.uk/articles/css/cross-browser-drop-shadows/

    Grüße
    Thomas

    1. Moin Thomas,

      Da würde ich schon fast eher auf JavaScript zurückgreifen (da alles andere viel zu anfällig wäre.)

      ja, ich sehe schon, das sind wirklich abenteuerliche Tricks, auf die man vielleicht lieber verzichten sollte ;-)

      Da es sich bei den Seiten sowieso um PHP handelt, werde ich wohl dort den Browser per $_SERVER["HTTP_USER_AGENT"] prüfen und ggf. das entsprechende CSS schreiben...

      Glück auf
      Dirk

      1. Hi,

        ja, ich sehe schon, das sind wirklich abenteuerliche Tricks, auf die man vielleicht lieber verzichten sollte ;-)
        Da es sich bei den Seiten sowieso um PHP handelt, werde ich wohl dort den Browser per $_SERVER["HTTP_USER_AGENT"] prüfen und ggf. das entsprechende CSS schreiben...

        Naja, die Prüfung des User Agent Strings ist aber auch abenteuerlich - schließlich kann der alles mögliche enthalten, u.U. sogar einen String, der tatsächlich zum verwendeten Browser paßt ...

        Beruht Safari nicht auf der KHTML-Engine?

        Dann könnte ggf. sowas wie

        body:nth-child(even)
        oder
        body:first-of-type

        oder ähnliches (zumindest derzeit) helfen - bis jetzt ist KHTML die einzige mir bekannte Engine, die das unterstützt.
        (ist natürlich nicht zukunfts-sicher, irgendwann werden auch andere Engines die Dinger können - siehe auch http://forum.de.selfhtml.org/archiv/2005/8/t113575/#m721278)

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo,

          Beruht Safari nicht auf der KHTML-Engine?

          Ja, beruht. Dennoch werden die Engines von Konqueror und Safari gesondert weiterentwickelt.
          </archiv/2005/6/t110263/#m692033>

          Dann könnte ggf. sowas wie

          body:nth-child(even)
          oder
          body:first-of-type

          oder ähnliches (zumindest derzeit) helfen - bis jetzt ist KHTML die einzige mir bekannte Engine, die das unterstützt.

          Konqueror unterstützt dies seit kurzem. Safari 2.0 bzw. WebCore 412 unterstützen sie meines Wissens nicht und es ist auch nicht selbstverständlich damit zu rechnen, dass diese Änderungen in Kürze portiert werden.

          Siehe auch Features, die von KHTML nach WebCore portiert werden sollen.

          Mathias

        2. Moin MudGuard,

          Naja, die Prüfung des User Agent Strings ist aber auch abenteuerlich - schließlich kann der alles mögliche enthalten, u.U. sogar einen String, der tatsächlich zum verwendeten Browser paßt ...

          klar, aber ich denke in diesem Fall kann ich davon ausgehen, dass der Teilstring "safari" wohl nur vorkommen wird, wenn es sich wirklich um Safari handelt...

          Wer tarnt seinen Browser schon als Safari...? Üblicherweise werden der IE oder verschiedene Geckos vorgegaukelt, aber kein Safari...

          Aber wenn ich mal einen falschen erwische, hat es in diesem Fall ja keine wirklich schlimmen Konsequenzen: es würde halt nur keine Silbentrennung verwendet, die Seiten blieben aber voll funktionstüchtig und würden halt so angezeigt, wie es z.B. auch der Firefox macht - das würde ich nicht wirklich schlimm finden.

          Und wenn mal ein Safari-User nicht erkannt wird, ließt er halt "Kon-struktions-büros" statt "Konstruktionsbüros" - das stört mich zwar, aber es ist mir lieber, dass sowas in (sehr seltenen) Einzelfällen passiert, als ganz auf die Silbentrennung verzichten zu müssen; der Großteil der Safaris würde wohl über den User Agent String erkannt (hoffe ich <g>).

          Danke an alle für die Antworten, ich werde natürlich die anderen Möglichkeiten auch prüfen...

          Glück auf
          Dirk

    1. Hallo,

      Weiche für Konqueror:
      http://www.lipfert-malik.de/webdesign/tutorial/bsp/kristof-lipfert-konqueror-css-crossover.html

      Übrigens wendet mein Konqueror 3.4.2 die Regel nicht an.

      Mathias

    2. Ergänzung:

      Weichen für @import:
      http://www.lipfert-malik.de/webdesign/tutorial/bsp/NBdemo.html

      Konqueror 3.4.2 wird als Mozilla erkannt.

      Mathias

      1. Hallo Mathias,

        Ergänzung:

        Weichen für @import:
        http://www.lipfert-malik.de/webdesign/tutorial/bsp/NBdemo.html

        Konqueror 3.4.2 wird als Mozilla erkannt.

        Danke, wenn nicht irgendein blöder Flüchtigkeitsfehler im Code steckt ist
        vielleicht beim Konqueror der Umgang mit den Anführungszeichen (') oder
        dem Backslash mittlerweile geändert worden, werd ich mir mal anschauen,
        auch was bei der anderen Weiche gefixed sein mag.
        Ist halt das Problem mit Hacks bei ständig weiterentwickelten Browsern.

        Grüsse

        Cyx23

  2. Hallo Dirk,

    Mal was anderes: Hast du eigentlich meine Mails bekommen (24.8. & 31.8.)?
    Hast du vor, auf die zu antworten?

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
    http://againsttcpa.com
    1. Moin Alexander,

      ich hoffe, meine Mail von gestern abend hat dich erreicht.

      Ich war ein paar Tage krank und bin noch dabei, mein vollgelaufenes Postfach abzuarbeiten, melde mich aber in den nächsten Tagen auf jeden Fall bei dir...

      Glück auf
      Dirk

      1. Hallo Freunde des gehobenen Forumsgenusses,

        ich hoffe, meine Mail von gestern abend hat dich erreicht.

        Ja, hat sie :-)

        Ich war ein paar Tage krank und bin noch dabei, mein vollgelaufenes Postfach abzuarbeiten, melde mich aber in den nächsten Tagen auf jeden Fall bei dir...

        Fein, gute Besserung wünscht dir
        Alexander Brock

        --
        [latex]\lim_{3 \to 4}{\sqrt{3}} = 2[/latex]
  3. Kennt jemand was passendes...?

    Neulich frisch reingekommen: http://www.stuffandnonsense.co.uk/archives/hide_css_from_safari.html

    Viele Grüße!
    _ds

    1. Hallo Dirk,

      Neulich frisch reingekommen: http://www.stuffandnonsense.co.uk/archives/hide_css_from_safari.html

      *hehe* und für wie lange ...
      "Hiding stuff from Safari scares me. The IE team never upgrade anything and the Firefox lot publicise their upgrades months in advance but Safari seem to sneak upgrades out as soon as they find them." ;-)

      Grüße
      Thomas