In dieser SO-Antwort finden Sie einen generischen regulären Ausdruck, mit dem überprüft werden kann, ob es sich bei einer bestimmten Benutzeragentenzeichenfolge um eine iOS 5.0- Zeichenfolge handelt .
Stephan
Antworten:
151
iPhone:
Mozilla/5.0(iPhone; CPU iPhone OS 5_0 like Mac OS X)AppleWebKit/534.46(KHTML, like Gecko)Version/5.1Mobile/9A334Safari/7534.48.3
iPad:
Mozilla/5.0(iPad; CPU OS 5_0 like Mac OS X)AppleWebKit/534.46(KHTML, like Gecko)Version/5.1Mobile/9A334Safari/7534.48.3
Richtig. Von meinem iPhone: Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0 wie Mac OS X) AppleWebKit / 534.46 (KHTML, wie Gecko) Version / 5.1 Mobile / 9A334 Safari / 7534.48.3
Ich habe mit der Website begonnen, auf die hier verwiesen wird, aber sie hatte nicht die Build-Nummer des Web-Kits, die von Google Analytics angezeigt wird. Eine vollständigere Liste habe ich unter useragentstring.com/pages/Safari gefunden .
Ich habe eine vollständigere Auflistung unter der Zeichenfolge des Benutzeragenten gefunden . Übrigens enthält diese Site mehr als nur Zeichenfolgen für iOS-Benutzeragenten. Außerdem "zerlegt" die Startseite die Benutzeragentenzeichenfolge Ihres aktuellen Browsers für Sie.
@ LucasMorgan, danke für den Hinweis! Ich habe es in meiner Antwort behoben.
Andrew Steitz
2
Die Auswertung meiner Agentenzeichenfolge wurde behoben, indem die Zeichenfolge für LOWERCASE "iphone os 5_0" im Gegensatz zu "iPhone OS 5_0" gelöscht wurde. Jetzt ordne ich meinem HTML-Code ordnungsgemäß iOS 5-spezifische Klassen zu, wenn das Scrub in Großbuchstaben fehlgeschlagen ist.
Ich persönlich würde mehr als nur das iPhone erkennen, da Sie im obigen Beispiel keinen iOS 5-spezifischen Code für iPads und iPod touch rendern. Vielleicht möchten Sie auch darüber nachdenken, dass die Version irgendwann inkrementiert wird. Meine Empfehlung würde wahrscheinlich für die meisten offensichtlich sein - zuerst ein Apple-Mobilgerät erkennen, dh iPad / iPod / iPhone, und dann, wenn dies der Fall ist, die Version von ... analysieren, nicht das iOS, sondern wahrscheinlich den Browser, dh in diesem Fall Version / 5.1 wäre der Indikator. Sobald Sie die Version kennen, wenden Sie Ihren Code unter der Bedingung "nicht niedriger als" an.
hndcrftd
1
Ich verwende Folgendes, um verschiedene mobile Geräte, Ansichtsfenster und Bildschirme zu erkennen. Funktioniert ganz gut für mich, könnte für andere hilfreich sein:
window.devicePixelRatioist das Verhältnis zwischen physischen Pixeln und geräteunabhängigen Pixeln (Einbrüchen) auf dem Gerät.
window.devicePixelRatio= physikalische Pixel / Einbrüche.
Vielen Dank für die Antwort, aber beachten Sie, dass dies kein effizienter Weg ist und einige Geräteversionen verloren gehen. Zum Beispiel habe ich gerade den Benutzeragenten auf meinem alten iPad 1 überprüft und dort steht "... iPad; CPU OS 5_1_1 ...". Keine Ihrer Variablen hätte das erfasst. Sie würden eine Regex wievar iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);
Antworten:
iPhone:
iPad:
quelle
Diese Seite scheint eine vollständige Liste zu führen, die noch gepflegt wird
iPhone, iPod Touch und iPad von iOS 2.0 - 5.1.1 (bis heute).
Sie müssen die vollständige Benutzeragentenzeichenfolge aus den in den Spalten der Seite aufgeführten Informationen zusammenstellen.
quelle
Ich habe eine vollständigere Auflistung unter der Zeichenfolge des Benutzeragenten gefunden . Übrigens enthält diese Site mehr als nur Zeichenfolgen für iOS-Benutzeragenten. Außerdem "zerlegt" die Startseite die Benutzeragentenzeichenfolge Ihres aktuellen Browsers für Sie.
quelle
Die Auswertung meiner Agentenzeichenfolge wurde behoben, indem die Zeichenfolge für LOWERCASE "iphone os 5_0" im Gegensatz zu "iPhone OS 5_0" gelöscht wurde. Jetzt ordne ich meinem HTML-Code ordnungsgemäß iOS 5-spezifische Klassen zu, wenn das Scrub in Großbuchstaben fehlgeschlagen ist.
quelle
Ich verwende Folgendes, um verschiedene mobile Geräte, Ansichtsfenster und Bildschirme zu erkennen. Funktioniert ganz gut für mich, könnte für andere hilfreich sein:
window.devicePixelRatio
ist das Verhältnis zwischen physischen Pixeln und geräteunabhängigen Pixeln (Einbrüchen) auf dem Gerät.window.devicePixelRatio
= physikalische Pixel / Einbrüche.Mehr Infos hier .
quelle
var iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);