Chuỗi tác nhân người dùng iOS 5.0 là gì?


91

Là gì iOS 5.0 dùng chuỗi đại lý?

Đây là tác nhân người dùng iOS 4.0 : Tác nhân người dùng iPhone 4 là gì?


2
Với câu trả lời SO này , bạn có thể tìm thấy một biểu thức chính quy chung để kiểm tra xem một chuỗi tác nhân người dùng nhất định có phải là iOS 5.0 hay không .
Stephan

Câu trả lời:


151

điện thoại 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
Chính xác. Từ iPhone của tôi: Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0 như Mac OS X) AppleWebKit / 534.46 (KHTML, như Gecko) Phiên bản / 5.1 Mobile / 9A334 Safari / 7534.48.3
Ben

11

Trang web này dường như giữ một danh sách đầy đủ vẫn được duy trì

iPhone, iPod Touch và iPad từ iOS 2.0 - 5.1.1 (cho đến nay).

Bạn cần phải tập hợp chuỗi tác nhân người dùng đầy đủ từ thông tin được liệt kê trong các cột của trang.


1
Tôi đã bắt đầu với trang web được tham chiếu ở đây nhưng nó không có số bản dựng web-kit, là số mà Google Analytics hiển thị. Tôi đã tìm thấy một danh sách đầy đủ hơn tại useragentstring.com/pages/Safari .
Andrew Steitz

1
Tôi đã biên soạn một danh sách với RẤT nhiều tác nhân người dùng. Hy vọng nó sẽ hữu ích: codereye.com/2014/12/list-of-mobile-user-agents.html
bashan

Cảm ơn @Nate, sẽ làm như vậy.
bashan

10

Tôi đã tìm thấy một danh sách đầy đủ hơn tại chuỗi tác nhân người dùng . BTW, trang web này không chỉ có chuỗi tác nhân người dùng iOS. Ngoài ra, trang chủ sẽ "chia nhỏ" chuỗi tác nhân người dùng của trình duyệt hiện tại cho bạn.


Liên kết chuỗi tác nhân người dùng bị hỏng. :( Tôi nghĩ nó nên trỏ đến đây ngay bây giờ: useragentstring.com/pages/useragentstring.php?name=Safari
Lucas Morgan

1
@LucasMorgan, cảm ơn vì đã ghi chú! Tôi đã sửa nó trong câu trả lời của tôi.
Andrew Steitz

2

đã sửa lỗi đánh giá chuỗi tác nhân của tôi bằng cách xóa chuỗi cho LOWERCASE "iphone os 5_0" so với "iPhone OS 5_0". bây giờ tôi đang chỉ định đúng các lớp cụ thể của iOS 5 cho html của mình, khi quá trình xóa chữ hoa không thành công.


1
Cá nhân tôi không chỉ phát hiện ra iPhone vì trong ví dụ trên, bạn không hiển thị mã cụ thể của iOS 5 cho iPad và iPod touch. Điều bạn cũng có thể muốn nghĩ đến là thực tế là phiên bản sẽ tăng lên tại một số điểm. Đề xuất của tôi có lẽ sẽ rõ ràng với hầu hết - trước tiên hãy phát hiện một thiết bị di động apple, tức là iPad / iPod / iPhone và sau đó, nếu đúng như vậy, hãy phân tích phiên bản của ... không phải iOS mà có thể là trình duyệt, tức là trong trường hợp này Phiên bản / 5.1 sẽ là chỉ báo. Khi bạn biết phiên bản, bạn sẽ áp dụng mã của mình với điều kiện "không thấp hơn".
hndcrftd

1

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. Hoạt động khá tốt cho tôi, có thể hữu ích cho những người khá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.devicePixelRatiolà tỷ lệ giữa pixel vật lý và pixel không phụ thuộc vào thiết bị (dips) trên thiết bị. window.devicePixelRatio= pixel / dips vật lý.

Thêm thông tin ở đây .


1
Cảm ơn bạn đã phản hồi, nhưng lưu ý rằng đây không phải là cách hiệu quả và một số phiên bản thiết bị sẽ bị mất. Ví dụ: tôi vừa kiểm tra tác nhân người dùng trên iPad 1 cũ của mình và nó cho biết "... iPad; CPU OS 5_1_1 ...". Không có biến nào của bạn có thể nắm bắt được điều đó. Bạn sẽ cần một regex nhưvar iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);
Mauvis Ledford
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.