Wie lässt sich ein mobiles Gerät am besten aufspüren?

Gibt es eine solide Art und Weise zu erkennen, ob ein Benutzer ein mobiles Gerät in jQuery verwendet oder nicht? Etwas Ähnliches wie das CSS-Attribut @media? Ich würde gerne ein anderes Skript ausführen, wenn der Browser auf einem Handheld-Gerät ist.

Die jQuery-Funktion "$.browser" ist nicht das, wonach ich suche.

Was Sie tun, wenn Sie ein mobiles Gerät erkennen wollen, kommt dem Konzept des "Browser-Sniffing" IMO ein wenig zu nahe. Es wäre wahrscheinlich viel besser, einige Feature-Erkennung zu tun. Bibliotheken wie http://www.modernizr.com/ können dabei helfen.

Wo ist zum Beispiel die Grenze zwischen mobil und nicht-mobil? Sie wird von Tag zu Tag unschärfer.

Kommentare (10)

Es ist nicht jQuery, aber ich fand dies: http://detectmobilebrowser.com/

Es bietet Skripte zur Erkennung von mobilen Browsern in verschiedenen Sprachen, darunter auch JavaScript. Das könnte Ihnen helfen, wonach Sie suchen.

Da Sie jedoch jQuery verwenden, sollten Sie sich über die jQuery.support-Sammlung informieren. Dabei handelt es sich um eine Sammlung von Eigenschaften zur Ermittlung der Fähigkeiten des aktuellen Browsers. Die Dokumentation finden Sie hier: http://api.jquery.com/jQuery.support/

Da ich nicht weiß, was genau Sie zu erreichen versuchen, weiß ich nicht, welche davon am nützlichsten sein wird.

Dennoch denke ich, dass es am besten ist, die Ausgabe entweder umzuleiten oder ein anderes Skript zu schreiben, das eine serverseitige Sprache verwendet (falls dies eine Option ist). Da Sie die Fähigkeiten eines mobilen Browsers x nicht wirklich kennen, wäre es die zuverlässigste Methode, die Erkennungs- und Änderungslogik auf der Serverseite durchzuführen. Natürlich ist all das ein strittiger Punkt, wenn Sie nicht eine serverseitige Sprache verwenden können :)

Kommentare (9)

Wenn Sie nicht besonders besorgt über kleine Bildschirme sind, können Sie die Erkennung von Breite und Höhe verwenden. Wenn also die Breite unter einer bestimmten Größe liegt, wird die mobile Website angezeigt. Das ist vielleicht nicht die perfekte Lösung, aber wahrscheinlich die einfachste, um mehrere Geräte zu erkennen. Möglicherweise müssen Sie eine spezielle Erkennung für das iPhone 4 (große Auflösung) einbauen.

Kommentare (0)