2009-06-24 13 views
-1

Ist es möglich, die jQuery-Elemente zu deaktivieren (oder auszublenden), wenn der Browser des Benutzers Safari ist?jQuery und Safari

Grundsätzlich benutze ich jquery Schlagschatten und es spielt nicht gut in Safari, aber es funktioniert gut auf den anderen Browsern. Ich möchte den Effekt beibehalten, habe ihn aber in Safari deaktiviert (oder versteckt). Ist das möglich?

Antwort

1

Errr, was ist das Problem, das Sie mit Schatten sehen? Wie bei der ersten Implementierung in Safari scheint es überraschend, dass dies der Browser ist, mit dem Sie Probleme haben. Was machst du gerade?

(und wie Paolo sagte - Browser-Sniffing ist eine wirklich, wirklich schlechte Idee)

+0

Grundsätzlich habe ich das Drop Shadow-Plugin auf dem Menü und um die "Galerie" Bilder auf dieser Seite verwendet, funktioniert es in allen anderen Browsern, außer für safari .. http://www.aurorarestaurant.com.au/gallery – SoulieBaby

+0

btw warum ist es so schlecht, die & .browser sache zu benutzen? – SoulieBaby

+0

Wenn Sie eine Browser-Überprüfung verwenden, schließen Sie diesen Browser dauerhaft aus, und zwar aus keinem anderen Grund als dem Namen. Wenn ich mir vorstelle, dass dies ein Bug im Webkit ist (statt eines Bugs in der JS, der vermutlich auf früheren Erfahrungen basiert), wird Apple diesen Fehler in Zukunft beheben, aber Safari - Benutzer werden immer noch nicht die Schatten (oder was auch immer). Wenn es sich um einen Safari-Bug handelt, dann ist es wirklich ein Bug in Webkit (der Engine, die Apple für Safari schreibt) und wirkt sich somit auf alle Browser aus, die Webkit einbinden, aber Sie werden sie nicht blockieren, z. Arora, Android und Chrome, Epiphany, der Pre, Kindle .. (es ist eine lange Liste) – olliej

4

Dies ist möglich, $.browser mit:

if(!$.browser.safari) { 
    // enable drop shadow or whatever 
} 

Bitte beachten Sie, dass $.browser in jQuery 1.3 veraltet und seine Verwendung ist in der Regel verpönt. Für Ihre Zwecke halte ich es jedoch nicht für besonders übel, es zu benutzen, nur zu wissen, dass es nicht 100% zuverlässig ist.

+0

Vielen Dank! Das hat perfekt funktioniert! :) – SoulieBaby

+0

In der Tat - ich denke, ich hatte ein paar wie das: -/ – olliej

1

die Tatsache, dass Safari Lasten ok das zweite Mal, und bricht, wenn Sie aktualisieren, kann ein Bild sein, ohne Größe Problem. Wenn dropShadow auf domReady aufgerufen wird, wird die Größe des Bildes beim ersten Mal nicht erkannt. Beim zweiten Mal wird das Bild zwischengespeichert und die Shados funktionieren einwandfrei.

Verwandte Themen