Wie zu erkennen, touch-Gerät Browser vs. desktop mit javascript?
Was ist der code zur Erkennung von touch-Geräten (smartphones und tablets) vs desktops Browser mit userAgent.Spiel und geben einen boolean-variable (z.B. "isipad')?
Brauche ich um dies zu testen gegen Android und Apple-Geräte vor allem. Wenn der browser des Geräts ist Android oder Apple, zurück isipad = false. Else return isipad = true.
So weit ich ging es so (für iDevice-browser-Erkennung) :
if( navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) ||navigator.userAgent.match(/iPad/i) )
{var isipad = true;}
else
{var isipad = false;}
Scheint es zu funktionieren, aber ich würde gerne in der Lage sein, den android-browser als auch, in diesem Fall.
Vielen Dank im Voraus.
Alex
InformationsquelleAutor Alex | 2012-09-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
einfachen code fand ich nach dem surfen eine Menge, hier und da
InformationsquelleAutor Pratswinz
Sollten Sie wirklich nicht versuchen, um herauszufinden, welche Art von Gerät es ist. Stattdessen sollten Sie überprüfen Sie die Funktionen des host-Gerätes und den code anpassen, um die Fähigkeiten, die es findet, unabhängig davon, welche Art von Gerät es ist. Dies wird als "feature detection" und als ein viel besserer Weg, Dinge zu tun, als die Erkennung eines bestimmten Browsers oder Geräts.
Zum Beispiel, wenn Windows-8-tablets kommen, wird es Geräte mit Maus-und touchgesten.
Gibt es viel geschrieben, wie zu erkennen touch-Funktionen. Sehen Sie, diese für Ihre Ideen:
http://alastairc.ac/2010/03/detecting-touch-based-browsing/
Optimierung der website für touch-Geräte
https://stackoverflow.com/a/4819886/816620
Was ist ein desktop mit den beiden touch-und Maus-Funktionen? Ich denke, du musst uns mehr erzählen über das, was interface-problem, das Sie versuchen wirklich zu lösen. Die Chancen sind, dass Sie mit der userAgent-aktivieren/deaktivieren Sie das touch-Verhalten ist ein schlechtes design Wahl. Wenn Sie wirklich wollen, zu verwenden, useragent, dann tun Sie eine Suche auf dem web für die useragent-strings und finden Sie Riesen-Listen, aus denen Sie entscheiden können, was zu tun ist (es gibt Tausende von useragent-strings).
Oh Nein, Nein, Nein. Ich bin nicht versucht zu aktivieren/deaktivieren Sie alle Verhalten. Ich benutze Articulate Storyline für die Entwicklung von e-learning. Ich versuche zu unterscheiden zwischen touch-und desktop aus Gründen der Kompatibilität. Die software tut nicht immer Ausgabe konsistente Ergebnisse, wenn in der html5-Modus (Tabletten) und ich implementieren müssen einige workarounds in diesen Fällen (wieder vor allem, weil einige software-Einschränkungen zu dieser Zeit).
InformationsquelleAutor jfriend00
Obwohl ich Stimme mit @jfriend00, die Sie verwenden sollten "feature Erkennung", anstatt den user-agent, aber es klingt wie der user-agent ist Ihre einzige option. Ich benutze diese web-site für mobile browser detection. Sie Häufig aktualisieren Sie Ihren code basierend auf neuen Geräten, also update yours occasionaly. Hier der JS-code:
Hier ist ein fiddle es in Aktion.
InformationsquelleAutor davehale23
Getestet hab ich gegen detectmobilebrowsers.com mit und iPad mini und ein Surface-tablet, und beide von Ihnen kam wieder "Kein mobiler browser erkannt".
Den seltsamsten Teil über das war, dass die Benutzer-Agent-Zeichenfolge für das iPad mini tatsächlich enthält das Wort "Mobile", die würde vorschlagen, dass es nicht so schwierig sein, zu bestimmen, wie ein mobiles Gerät.
InformationsquelleAutor Brian Frisch