Що таке рядок агента користувача iOS 5.0?


91

Що таке рядок агента користувача iOS 5.0 ?

Ось агент користувача iOS 4.0 : Що таке агент користувача iPhone 4?


2
У цій відповіді SO ви можете знайти загальний регулярний вираз, щоб перевірити, чи вказаний рядок агента користувача є iOS 5.0 .
Stephan

Відповіді:


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

3
Правильно. З мого iPhone: Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0, як Mac OS X) AppleWebKit / 534.46 (KHTML, як Gecko) Версія / 5.1 Mobile / 9A334 Safari / 7534.48.3
Бен,

11

На цьому веб-сайті, схоже, зберігається повний список, який досі підтримується

iPhone, iPod Touch та iPad з iOS 2.0 - 5.1.1 (на сьогоднішній день).

Вам потрібно зібрати повний рядок агента користувача з інформації, зазначеної в стовпцях сторінки.


1
Я почав із сайту, на який посилається тут, але на ньому не було номера збірки веб-набору, що відображає Google Analytics. Більш повний список я знайшов на useragentstring.com/pages/Safari .
Andrew Steitz,

1
Я склав список з ДУЖЕ великою кількістю користувацьких агентів. Сподіваюся, це допоможе: codereye.com/2014/12/list-of-mobile-user-agents.html
Башан

Дякую @Nate, зробить це.
башан

10

Я знайшов більш повний перелік у рядку агента користувача . До речі, на цьому веб-сайті є не лише рядки агента користувача iOS. Крім того, домашня сторінка буде "розбивати" рядок агента користувача вашого поточного браузера для вас.


Посилання на рядок агента користувача порушено. :( Я думаю, що зараз це має вказувати: useragentstring.com/pages/useragentstring.php?name=Safari
Лукас Морган

1
@LucasMorgan, дякую за примітку! Я виправив це у своїй відповіді.
Andrew Steitz

2

виправлено оцінку рядка мого агента, очищаючи рядок для LOWERCASE "iphone os 5_0", на відміну від "iPhone OS 5_0". тепер я належним чином присвоюю специфічні класи iOS 5 моєму html, коли скраб верхнього регістру не вдався.


1
Що ж, я особисто виявив би не лише iPhone, оскільки у наведеному вище прикладі ви не надаєте специфічний код iOS 5 для iPad та iPod touch. Ви також можете подумати про те, що версія в якийсь момент збільшиться. Моя рекомендація, мабуть, була б очевидною для більшості - спочатку виявити мобільний пристрій apple, тобто iPad / iPod / iPhone, а потім, якщо це так, розібрати версію ... не iOS, а, можливо, браузера, тобто в цьому випадку Індикатором буде версія / 5.1. Як тільки ви дізнаєтесь версію, ви застосуєте свій код за умови "не нижче".
hndcrftd

1

Я використовую наступне для виявлення різних мобільних пристроїв, області перегляду та екрана. Для мене працює досить добре, може бути корисним для інших:

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.devicePixelRatio- це співвідношення між фізичними пікселями та незалежними від пристрою пікселями (спадами) на пристрої. window.devicePixelRatio= фізичні пікселі / спади.

Більше інформації тут .


1
Дякуємо за відповідь, але зауважте, що це не ефективний спосіб, і деякі версії пристрою будуть втрачені. Наприклад, я щойно перевірив агент користувача на своєму старовинному iPad 1, і там написано "... iPad; ОС CPU 5_1_1 ...". Жодна з ваших змінних не вловила б цього. Вам знадобиться такий регулярний вираз, якvar iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);
Мовіс Ледфорд,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.