Jaki jest ciąg agenta użytkownika iOS 5.0?

Odpowiedzi:

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
źródło
3
Poprawny. Z mojego iPhone'a: ​​Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0 jak Mac OS X) AppleWebKit / 534.46 (KHTML, jak Gecko) Wersja / 5.1 Mobile / 9A334 Safari / 7534.48.3
Ben
11

Wydaje się, że ta witryna zawiera pełną listę, która jest nadal utrzymywana

iPhone, iPod Touch i iPad z iOS 2.0 - 5.1.1 (do tej pory).

Musisz zebrać pełny ciąg agenta użytkownika z informacji wymienionych w kolumnach strony.

Nate
źródło
1
Zacząłem od wymienionej tutaj witryny, ale nie miała ona numeru kompilacji zestawu internetowego, który jest wyświetlany w Google Analytics. Bardziej kompletną listę znalazłem na useragentstring.com/pages/Safari .
Andrew Steitz
1
Stworzyłem listę z BARDZO dużą liczbą programów użytkownika. Mam nadzieję, że to pomoże: codereye.com/2014/12/list-of-mobile-user-agents.html
bashan
Dzięki @Nate, zrobię to.
bashan
10

Znalazłem bardziej kompletną listę w ciągu agenta użytkownika . BTW, ta witryna ma więcej niż tylko ciągi agentów użytkownika iOS. Ponadto strona główna „rozbije” ciąg agenta użytkownika Twojej bieżącej przeglądarki.

Andrew Steitz
źródło
Link do ciągu agenta użytkownika jest uszkodzony. :( Myślę, że powinno to teraz wskazywać tutaj: useragentstring.com/pages/useragentstring.php?name=Safari
Lucas Morgan,
1
@LucasMorgan, dzięki za notatkę! Naprawiłem to w mojej odpowiedzi.
Andrew Steitz,
2

naprawiono ocenę ciągu agenta, usuwając ciąg dla LOWERCASE „iphone os 5_0” w przeciwieństwie do „iPhone OS 5_0”. teraz prawidłowo przypisuję specyficzne klasy iOS 5 do mojego kodu HTML, gdy czyszczenie wielkich liter nie powiodło się.

Geek Devigner
źródło
1
Cóż, ja osobiście wykryłbym więcej niż tylko iPhone'a, ponieważ w powyższym przykładzie nie renderujesz kodu specyficznego dla iOS 5 na iPady i iPoda touch. Warto również pomyśleć o tym, że wersja w pewnym momencie się powiększy. Moja rekomendacja byłaby prawdopodobnie oczywista dla większości - najpierw wykryj urządzenie mobilne Apple, czyli iPad / iPod / iPhone, a następnie, jeśli tak jest, przeanalizuj wersję ... nie iOS ale prawdopodobnie przeglądarkę, czyli w tym przypadku Wersja / 5.1 byłaby wskaźnikiem. Znając wersję, zastosowałbyś swój kod pod warunkiem „nie niższym niż”.
hndcrftd
1

Używam następujących do wykrywania różnych urządzeń mobilnych, widoku i ekranu. U mnie działa całkiem nieźle, może być pomocny dla innych:

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.devicePixelRatioto stosunek pikseli fizycznych do pikseli niezależnych od urządzenia (spadków) na urządzeniu. window.devicePixelRatio= fizyczne piksele / spadki.

Więcej informacji tutaj .

fulvio
źródło
1
Dziękuję za odpowiedź, ale pamiętaj, że nie jest to skuteczny sposób i niektóre wersje urządzeń zostaną utracone. Na przykład właśnie sprawdziłem agenta użytkownika na moim starym iPadzie 1 i jest tam napis „... iPad; CPU OS 5_1_1 ...”. Żadna z twoich zmiennych nie wychwyciłaby tego. Potrzebowałbyś wyrażenia regularnego, takiego jakvar iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);
Potrzebowałbyś