Ich habe überall gesucht. Wir verwenden einen Motorola Zoom, um unsere Tablet-Site-Tests zu testen. Das Problem ist, dass der Android Useragent ein allgemeiner Useragent ist und es keinen Unterschied zwischen Tablet Android und Mobile Android gibt. Ich möchte nicht nur auf ein bestimmtes Gerät wie den Xoom Useragent abzielen, da Android in naher Zukunft höchstwahrscheinlich auf mehreren Tablet-Geräten installiert sein wird.
Wir verwenden Umbraco CMS und haben die Verwendung der 51Degrees.mobi-Lösung in Betracht gezogen. Derzeit funktioniert dies nicht für unsere Anforderungen. Vielleicht in der Zukunft. Ich weiß, dass 51Degrees und einige der Leute bei Umbraco eine Integration in Umbraco vornehmen werden, aber das endgültige Projekt wird wahrscheinlich erst in ein paar Monaten veröffentlicht.
Aus diesem Grund möchten wir die Useragent-Zeichenfolge eines Android-Tablets erkennen und sie nicht wie derzeit direkt auf unsere mobile Website übertragen.
Wenn jemand weiß, wie man Android Tablet im Allgemeinen erkennt, wäre nicht das jeweilige Gerät sehr hilfreich.
quelle
Antworten:
Das ist falsch. Mobile Android hat eine "Mobile" -String im User-Agent-Header. Tablet Android nicht.
Es ist jedoch erwähnenswert, dass es im userAgent einige Tablets gibt, die "Mobile" Safari melden, und letzteres ist nicht die einzige / solide Möglichkeit, zwischen Mobile und Tablet zu unterscheiden .
quelle
@Carlos: In seinem Artikel empfiehlt Tim Bray dies (wie auch ein anderer Beitrag von Google ), aber leider wird es nicht von allen Tablet-Herstellern angewendet.
Die meisten Benutzer-Agent-Zeichenfolgen für Android-Tablets, die ich gesehen habe, verwenden mobile Safari, z. B. das Samsung Galaxy Tab:
Im Moment überprüfe ich die Gerätenamen, um Android-Tablets zu erkennen. Solange es nur wenige Modelle auf dem Markt gibt, ist das in Ordnung, aber bald wird dies eine hässliche Lösung sein.
Zumindest beim XOOM scheint der mobile Teil weg zu sein:
Da es derzeit nur Tablets mit Andorid 3.x gibt, würde eine Überprüfung auf Android 3 ausreichen.
quelle
Mo 'besser auch "mobile" User-Agent zu erkennen
Android-Gerät über Browser erkennen
quelle
else if (userAgent.search("ipad") > -1) document.write("<b> iPad <br>") else if ((userAgent.search("iphone") > -1)||(userAgent.search("ipod") > -1)) document.write("<b> iPhone or iPod <br>")
Sie können dieses Skript ausprobieren, da Sie nicht nur auf den Xoom abzielen möchten. Ich habe kein Xoom, sollte aber funktionieren.
Ich habe ein Projekt auf Github erstellt. Probieren Sie es aus - https://github.com/codefuze/js-mobile-tablet-redirect . Fühlen Sie sich frei, Probleme einzureichen, wenn etwas nicht stimmt!
quelle
Sobald ich Android im Benutzeragenten erkannt habe, unterscheide ich auf folgende Weise zwischen Tablet- und Smartphone-Browsern (dies verwendet Python, ist aber für andere Programmiersprachen ähnlich einfach):
AKTUALISIERT: Um die Verwendung von Chrome unter Android gemäß den Kommentaren unten widerzuspiegeln.
quelle
Basierend auf Agentenzeichenfolgen auf dieser Site:
Diese Ergebnisse wurden angezeigt:
Erstens:
Zweite:
Dritte:
Wenn Sie Level für Level erkennen können, ist das Ergebnis zu 90 Prozent wahr. Wie SharePoint-Gerätekanäle.
quelle
Folgendes benutze ich:
quelle
Während wir nicht sagen können, ob einige Tablets "mobil" weglassen, tun dies viele, einschließlich des Samsung Galaxy Tab ein Handy in ihrem Benutzeragenten, was es unmöglich macht, zwischen einem Android-Tablet und einem Android-Telefon zu erkennen, ohne die Modellspezifikationen zu überprüfen. Dieses IMHO ist Zeitverschwendung, es sei denn, Sie planen, Ihre Geräteliste monatlich zu aktualisieren und zu erweitern.
Leider besteht die beste Lösung darin, sich bei Google darüber zu beschweren und sie dazu zu bringen, Chrome für Android zu reparieren, damit Text hinzugefügt wird, um zwischen einem mobilen Gerät und einem Tablet zu identifizieren. Zur Hölle, sogar ein einzelner Buchstabe M ODER T an einer bestimmten Stelle in der Zeichenfolge würde ausreichen, aber ich denke, das macht zu viel Sinn.
quelle
Xoom hat das Wort Xoom im Benutzeragenten: Mozilla / 5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build / HRI66) AppleWebKit / 534.13 (KHTML, wie Gecko) Version / 4.0 Safari / 534.13
Galaxy Tab hat "Mobile" im Benutzeragenten: Mozilla / 5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build / FROYO) AppleWebKit / 533.1 (KHTML, wie Gecko) Version / 4.0 Mobile Safari / 533.1
So ist es einfach, den Xoom zu erkennen, schwer zu erkennen, ob eine bestimmte Android-Version mobil ist oder nicht.
quelle
Auf den meisten modernen Tablets wird Honeycomb aka 3.x ausgeführt. Standardmäßig laufen keine Telefone mit 3.x. Die meisten Tablets, auf denen derzeit 2.x ausgeführt wird, haben eine geringere Kapazität und sind möglicherweise besser, wenn sie ohnehin mit einer mobilen Site präsentiert werden. Ich weiß, dass es nicht fehlerfrei ist. Aber ich denke, es ist viel genauer als das Fehlen eines Mobiltelefons.
quelle
Während Mobile Android möglicherweise "Mobile" in seiner Benutzeragentenzeichenfolge enthält, was ist, wenn Opera Mobile für Android auf einem Tablet verwendet wird? Die Benutzeragentenzeichenfolge enthält weiterhin "mobil", sollte jedoch Websites in Tablet-Größe anzeigen. Sie müssen auf "mobil" testen, dem nicht "Oper" vorangestellt ist, sondern nur "mobil".
oder Sie könnten Opera Mobile einfach vergessen.
quelle
Ich würde empfehlen, Categorizr zu verwenden, um festzustellen, ob sich der Benutzer auf einem Tablet befindet. Sie können categorizr Testergebnisse sehen hier .
quelle
Wenn Sie das Fehlen von "Mobile" verwenden, ist es fast korrekt. Es gibt jedoch HTC Sensation 4G (4,3 Zoll mit Android 2.X), das kein Mobile-Keyword sendet.
Der Grund, warum Sie es möglicherweise separat behandeln möchten, ist
iframes
usw.quelle
Die 51Degrees Beta, 1.0.1.6 und die neueste stabile Version 1.0.2.2 (28.04.2011) können jetzt nach Tablets schnüffeln. Grundsätzlich im Sinne von:
Hoffe das hilft dir.
quelle
Probieren Sie OpenDDR aus , es ist im Gegensatz zu den meisten anderen genannten Lösungen kostenlos.
quelle