Was ist die iOS 5.0-Benutzeragentenzeichenfolge?

91

Was ist die iOS 5.0- Benutzeragentenzeichenfolge?

Hier ist der iOS 4.0- Benutzeragent: Was ist der iPhone 4-Benutzeragent?

chown
quelle
2
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.1 Mobile/9A334 Safari/7534.48.3

iPad:

Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
chown
quelle
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
Ben
11

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.

Nate
quelle
1
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 .
Andrew Steitz
1
Ich habe eine Liste mit sehr vielen Benutzeragenten zusammengestellt. Hoffe, es wird helfen: codereye.com/2014/12/list-of-mobile-user-agents.html
bashan
Danke @Nate, werde das tun.
Bashan
10

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.

Andrew Steitz
quelle
Die Verknüpfung der Benutzeragentenzeichenfolge ist unterbrochen. :( Ich denke, es sollte jetzt hier zeigen: useragentstring.com/pages/useragentstring.php?name=Safari
Lucas Morgan
1
@ 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.

Geek Devigner
quelle
1
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:

var pixelRatio = window.devicePixelRatio || 1;

var viewport = {
    width: window.innerWidth,
    height: window.innerHeight
};

var screen = {
    width: window.screen.availWidth * pixelRatio,
    height: window.screen.availHeight * pixelRatio
};

var iPhone = /iPhone/i.test(navigator.userAgent);
var iPhone4 = (iPhone && pixelRatio == 2);
var iPhone5 = /iPhone OS 5_0/i.test(navigator.userAgent);
var iPad = /iPad/i.test(navigator.userAgent);
var android = /android/i.test(navigator.userAgent);
var webos = /hpwos/i.test(navigator.userAgent);
var iOS = iPhone || iPad;
var mobile = iOS || android || webos;

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.

Mehr Infos hier .

Fulvio
quelle
1
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);
Mauvis Ledford