2010-01-28 38 views
111

Từ những gì tôi thu thập, iPad đang sử dụng hệ điều hành iPhone, nhưng với độ phân giải màn hình khác nhau từ iPhone và iPod touch. Vì vậy, nhiều trang web có thể phải thay đổi phát hiện tác nhân người dùng của họ để thích ứng với iPad.Tác nhân người dùng iPad là gì?

Vì vậy, bất kỳ ai có quyền truy cập vào iPad hoặc iPad SDK đều cung cấp cho chúng tôi chuỗi tác nhân người dùng không?

+2

Làm thế nào bạn muốn để thích ứng với iPad khi bạn không thể chắc chắn rằng những thay đổi của bạn phù hợp? – Gumbo

+9

Tôi nghĩ rằng ý tưởng là để đảm bảo rằng khi ai đó tải trang web của bạn trên iPad, nó sẽ không nghĩ rằng đó là một chiếc iPhone. Tác nhân người dùng rất quan trọng đối với bất kỳ ứng dụng hoặc trang web nào phát hiện và hành động trên đó. –

+0

Tất cả các câu trả lời là vài năm lỗi thời - tôi chỉ tìm kiếm các tùy chọn ở đây: http://www.webapps-online.com/online-tools/user-agent-strings (một chút nỗ lực để xem chi tiết, nhưng nó có mọi thiết bị bạn có thể cần). – brichins

Trả lời

126

Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 như Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, như Gecko) Phiên bản/4.0 .4 thoại di động/7B314 Safari/531.21.10

+15

Câu trả lời được chấp nhận ở trên không phải là nó nữa. Bạn không thể kiểm tra tác nhân người dùng cho 'iPhone', phải là 'iPad'. Tôi nghĩ liên kết của jleedev ở trên gần hơn với giao dịch thực tế: Mozilla/5.0 (iPad; U; CPU OS 3_2 như Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, như Gecko) Version/4.0.4 Điện thoại di động/7B334b Safari/531.21.10 –

+2

Xin chào, đây là thông tin chi tiết về tác nhân người dùng trong Thư viện nhà phát triển Safari: http://developer.apple.com/library/safari/#technotes/tn2010/tn2262/_index.html –

+6

Đây là một chi tiết khác , liên kết toàn diện hơn và nhiều thông tin hơn: http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html –

28

Từ giả, trong chế độ iPad:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/531,9 (KHTML, như Gecko) Version/4.0.3 Safari/531,9 (này là dành cho 3.2 beta 1)

Mozilla/5.0 (iPad; U; OS CPU 3_2 như Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, như Gecko) Phiên bản/4.0.4 Thiết bị di động/7B334b Safari/531.21.10 (đây là phiên bản 3.2 beta 3)

và trong chế độ iPhone:

Mozilla/5.0 (iPhone; U; CPU hệ điều hành iPhone 3_2 như Mac OS X; en-us) AppleWebKit/531.21.20 (KHTML, như Gecko) Điện thoại di động/7B298g

Tôi không biết làm thế nào đáng tin cậy hệ thống mô phỏng, nhưng có vẻ như bạn không thể phát hiện cho dù thiết bị là iPad chỉ từ chuỗi tác nhân người dùng.

(Lưu ý: Tôi đang trên Snow Leopard mà Agent chuỗi tài cho Safari là

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/531,21. 8 (KHTML, như Gecko) Version/4.0.4 Safari/531.21.10

)

+1

"Machintosh"? Đó có phải là một lỗi đánh máy hay nó là thật không? Nếu thực tế, đó có thể là cách chúng tôi phải phát hiện ra nó. – Yoric

+0

Có vẻ như sự khác biệt là suttle ... lưu ý chính tả của "Machintosh" không phải là "Macintosh" - hay đây là lỗi đánh máy? –

+1

Xin lỗi, đó là lỗi đánh máy. Vì tôi không thể sao chép trực tiếp từ trình mô phỏng sang máy Mac. – kennytm

2

Từ Simulator 3.2 chính thức:

Mozilla/5.0 (iPad; U; CPU OS 3_2 như Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, như Gecko) Version/4.0.4 thoại di động/7B367 Safari/531.21.10

16

Từ một thiết bị thực:

Mozilla/5.0 (iPad; U; CPU OS OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10

10

nó đáng chú ý là khi chạy ở chế độ ứng dụng web (sử dụng thẻ meta apple-mobile-web-app-capable) user agent thay đổi từ:

Mozilla/5.0 (iPad; U; CPU OS 3_2_1 như Ma c OS X; en-us) AppleWebKit/531.21.10 (KHTML, như Gecko) Phiên bản/4.0.4 Điện thoại di động/7B405 Safari/531.21.10

tới:

Mozilla/5.0 (iPad; U; OS CPU 3_2_1 như Mac OS X; en-us) AppleWebKit/531,21. 10 (KHTML, như Gecko) điện thoại di động/7B405

+0

Điều này cũng đúng với iPhone. Nếu bất cứ ai có bất kỳ tài liệu của Apple giải thích sự khác biệt này, tôi sẽ tìm thấy một trợ giúp tuyệt vời. –

3

Nó có vẻ là sự đồng thuận chung mà mọi thiết bị táo di động, iphone, ipad, hoặc ipod sử dụng một user agent có chứa cả 'di động' và 'Safari'.

Tuy nhiên, sử dụng SDK mới nhất (4.0.1) và đọc tác nhân người dùng trên máy chủ đường ray của tôi (sử dụng request.env["HTTP_USER_AGENT"]), chúng tôi không bao giờ nhận được phần 'Safari'.

Bất kể các yêu cầu đang được thực hiện từ mô phỏng hoặc một thiết bị thực tế, gỡ lỗi hoặc phát hành, nó luôn luôn trông giống như sau:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 như Mac OS X; de-de) AppleWebKit/528,18 (KHTML, như Gecko) Điện thoại di động/7D11"

Chỉ cần không 'Safari' :-(Vì vậy, chúng ta phải sử dụng một phần 'iPhone' để đảm bảo. Đó là điều mà Apple không khuyên bạn làm.

+0

AppleWebKit ngụ ý Safari –

+2

Chrome cũng có AppleWebKit trong tác nhân người dùng. – Nestor

6

Mine nói:

Mozilla/5.0 (iPad; U; CPU OS 4_3 như Mac OS X; da-dk) AppleWebKit/533.17.9 (KHTML, như Gecko) Phiên bản/5.0.2 Mobile/8F190 Safari/6533.18.5

7

iPad 2 trong 4.3.5:

Mozilla/5.0 (iPad; U; CPU OS 4_3_5 như Mac OS X; vi-us) AppleWebKit/533.17.9 (KHTML, như Gecko) Phiên bản/5.0.2 Điện thoại di động/8L1 Safari/6533.18.5

4

Đây rồi!

Mozilla/5.0 (iPad; U; OS CPU 3_2 như Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, như Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

1

Tôi cho rằng bạn không cần sử dụng toàn bộ chuỗi tác nhân, trừ khi có thể bạn tìm thấy lý do bạn cần điều chỉnh trang web thành một mô hình cụ thể.

Bạn có thể kiểm tra iPhone, iPad và iPod trong chuỗi tác nhân và bao gồm tất cả các cơ sở của mình.

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { 
    appleMobileDevice = true; 
} 
else { 
    appleMobileDevice = false; 
} 
0

Đối với iPad Chỉ

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10 
Các vấn đề liên quan