A question se le preguntó en SO sobre el agente de usuario iPhone 4 y el agente de usuario iOS 5.0.Detección de iPhone 5 y cualquier dispositivo iOS debajo de ella
Utilizo lo siguiente para detectar diferentes dispositivos móviles, ventanas y pantallas.
Me gustaría poder distinguir entre el iPhone 5 y todos los demás dispositivos iOS. Por lo que yo sé, la línea que estoy usando para detectar el agente de usuario de iOS 5.0 var iPhone5
también se aplicaría a cualquier dispositivo iOS con iOS 5.0, por lo que técnicamente es incorrecta.
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
es la relación entre los píxeles físicos y píxeles independientes del dispositivo (huecos) en el dispositivo. window.devicePixelRatio
= píxeles físicos/inmersiones.
Más información here.
@nhahtdh: Bueno, eso es el agente de usuario de iOS 5.0, no el iPhone 5. Recuerde, el IOS 5.0 puede ejecutarse en cualquier dispositivo iOS incluyendo el iPhone 5, sin embargo me gustaría me gusta distinguir entre un iPhone 4 y un iPhone 5, por ejemplo. – fuzz
@nhahtdh: ¿Por qué comentar y luego votar para cerrar? Además, ¿te importa dar una razón? – fuzz
Fue una reacción instintiva sin leer cuidadosamente lo que está preguntando. – nhahtdh