A question được hỏi về SO về tác nhân người dùng iPhone 4 và đại lý người dùng iOS 5.0.Phát hiện iPhone 5 và bất kỳ thiết bị iOS nào bên dưới nó
Tôi sử dụng phần sau để phát hiện các thiết bị di động, chế độ xem và màn hình khác nhau.
Tôi muốn có thể phân biệt được giữa iPhone 5 và tất cả các thiết bị iOS khác. Theo tôi biết, dòng tôi đang sử dụng để phát hiện tác nhân người dùng iOS 5.0 var iPhone5
cũng sẽ áp dụng cho bất kỳ thiết bị iOS nào chạy iOS 5.0, vì vậy về mặt kỹ thuật, nó không chính xác.
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
là tỷ lệ giữa pixel vật lý và điểm ảnh độc lập (dips) trên thiết bị. window.devicePixelRatio
= pixel/điểm ảnh vật lý.
Thông tin thêm here.
@nhahtdh: Vâng, đó là tác nhân người dùng iOS 5.0 không phải là iPhone 5. Hãy nhớ rằng, iOS 5.0 có thể chạy trên bất kỳ thiết bị iOS bao gồm cả iPhone 5, tuy nhiên tôi muốn ví dụ như để phân biệt giữa iPhone 4 và iPhone 5. – fuzz
@nhahtdh: Tại sao bạn bình luận và sau đó bỏ phiếu để đóng? Ngoài ra, quan tâm để cung cấp cho một lý do? – fuzz
Đó là phản ứng đầu gối mà không cần đọc kỹ những gì bạn đang hỏi. – nhahtdh